PacktLib: Mac Application Development by Example: Beginner's Guide

Mac Application Development by Example Beginner's Guide

Credits

About the Author

About the Reviewers

www.PacktPub.com

Preface

Our First Program – SimpleCalc

Locating developer tools

Time for action - Installing the Xcode App

Working with projects

Time for action - creating the SimpleCalc Xcode project

Understanding the Xcode project template

Time for action – examine the items in the project navigator

Configuring an Xcode project

Time for action - configuring the SimpleCalc Xcode project

Running an App

Time for action – run the SimpleCalc App

Customizing an Xcode template's interface

Time for action – creating the SimpleCalc interface

Customizing an Xcode template's implementation

Time for action – implement the SimpleCalc behavior

Building an App

Time for action – building and installing the SimpleCalc App

Summary

Debugger – Finding and Fixing Problems

The Debug area in Xcode

Time for action – displaying the Debug area in Xcode

The Debug area appears on its own

Time for action - integer division by zero

Examining variable values in the debugger

Time for action – examining a variable value

Unexpected App behavior – no debugger?

Time for action – index out of range

Using breakpoints to get more information from Xcode

Time for action – set a breakpoint

Summary

System Preferences – NewDefaults

Understanding preference panes

The transition to 64 bit from 32 bit

Creating an Xcode preference pane project

Time for action – creating the NewDefaults Xcode project

Configuring an Xcode preference pane project

Time for action – customizing the icon and copyright

Customizing the preference pane template interface

Time for action – creating the NewDefaults interface

Customizing the preference pane Xcode template's .h implementation

Time for action – completing the NewDefaults.h interface definition

Customizing the preference pane Xcode template's .m implementation

Time for action – completing the NewDefaults.m implementation

Time for action – writing the readDefaults:forKey: program code

Time for action – writing the didSelect: program code

Time for action – writing the myButtonAction: program code

Summary

Business Application – Global Currency Converter

Designing the GUI for global currency converter

Time for action – creating our project and GUI

Connecting the GUI to program elements

Time for action – connecting the App Delegate to the GUI

What is an XML file?

Format of the XML file we will download

Time for action – downloading an XML file

Parsing an XML document

Time for action – parsing the XML Document

How to invoke a background thread

Time for action – invoking a background thread

Managing a pop-up menu

Time for action – implementing the program code for the pop-up menu

Creating the Table View Interface

Time for action – configuring the table view in Interface Builder

Creating the table view implementation

Time for action – implementing the dataSource and delegate

Summary

Personal Information – Numbers in the iCloud

What is iCloud?

Installing an iCloud enabled development profile

Time for action – creating and installing an iCloud enabled development profile

Designing the GUI for numbers in the cloud

Time for action – creating our project and GUI

Connecting the GUI to program elements

Time for action – connecting the App Delegate to the GUI

Using two tables in one window

Time for action – implementing the TableView delegate

Implementing the toolbar

Time for action – implementing the Toolbar delegate

Accessing iCloud

Time for action – accessing iCloud for key-value storage

Summary

Painting – Multi-finger Paint

What is multi-touch?

Implementing a custom view

Time for action – creating a GUI with a custom view

How to receive multi-touch events

Time for action – drawing our fingers

How to manage the mouse cursor

Time for action – detaching the mouse cursor from the mouse hardware

Performing 2D drawing in a custom view

Time for action – drawing the active strokes

Saving strokes

Time for action – saving the strokes

How to receive gesture events

Time for action – handling rotate gestures

Summary

Capturing Still Images – iSight iMage cApture App

What is Image Kit?

Adding framework to a project

Time for action – creating a project and adding the Quartz framework

Browsing images

Time for action – implementing the interface for browsing our pictures folder

Time for action – implementing the methods for browsing our Pictures folder

Capturing and saving images

Time for action – capturing and saving images

Modifying the behavior of the Picture Taker

Time for action – drawing our fingers

Deleting images

Time for action – deleting an image

Summary

Video Recording – iSight Recorder

What is Quicktime Kit Capture?

Previewing the video capture

Time for action – creating a project and adding the program code to preview video and audio

Capturing a single frame as a still image

Time for action – capturing a frame

Previewing audio capture

Time for action – capturing and saving images

Capturing a movie to disk

Time for action – capturing a Quicktime movie

Capturing compressed movies to disk

Time for action – saving a compressed movie

Summary

Video Recording – Full Screen iSight Recorder

What is the full screen mode?

Enabling the full screen mode

Time for action – enabling full screen mode in iSight Recorder

Disabling auto layout

Time for action – using the traditional layout model

Modifying our user interface to take advantage of full screen

Time for action – refining how we enter and exit full screen

Time for action – refining text colors

Time for action – refining controls using fading

Customizing the full screen window size

Time for action – adding a full screen window that has depth

Customizing the full screen animation

Time for action – customizing the full screen animation

Summary

Sharing Our App with Others – Becoming a Mac Developer

What is the Mac developer program?

What are the benefits of joining the Mac developer program?

The opportunity to join a paid developer program

Step by step developer program sign up

Time for action – joining the Mac developer program

More developer tools

Time for action – accessing the online developer tools

What is code signing?

What is Gatekeeper?

Signing an App with a Developer ID

Time for action – signing an App with our Developer ID

Summary

Index