Mac Application Development by Example: Beginner's Guide

A comprehensive and practical guide, for absolute beginners, to developing your own App for Mac OS X book and ebook.

Mac Application Development by Example: Beginner's Guide

Beginner's Guide
Robert Wiebe

A comprehensive and practical guide, for absolute beginners, to developing your own App for Mac OS X book and ebook.
$26.99
$44.99
RRP $26.99
RRP $44.99
eBook
Print + eBook
$12.99 p/month

Get Access

Get Unlimited Access to every Packt eBook and Video course

Enjoy full and instant access to over 3000 books and videos – you’ll find everything you need to stay ahead of the curve and make sure you can always get the job done.

Book Details

ISBN 139781849693820
Paperback318 pages

About This Book

  • Start developing applications for Mac OS X
  • Learn how to take advantage of Mac features such as the iSight camera and the multi-touch trackpad
  • Use Xcode to its full potential to make tasks simpler

Who This Book Is For

This book is for people who are programming beginners and have a great idea for a Mac OS X app and need to get started.

Table of Contents

Chapter 1: 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
Chapter 2: 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
Chapter 3: 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
Chapter 4: 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
Chapter 5: 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
Chapter 6: 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
Chapter 7: 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
Chapter 8: 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
Chapter 9: 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
Chapter 10: 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

What You Will Learn

  • The basic concepts and tools and how to use them to create an OS X application
  • Access information from the Internet from within a business app to enhance its functionality
  • Store and retrieve information from Apple’s iCloud server farm
  • Use the debugger to find and fix problems that cause an app to crash
  • Create a new System Preference that can change the fundamental way the Mac OS system behaves
  • Capture video from the iSight camera and save it as a Quicktime movie file
  • Implement a custom view and draw directly into it using the 2D drawing interfaces
  • Share your app with others in a Gatekeeper-aware and friendly manner

In Detail

It's never been more important to have the ability to develop an App for Mac OS X. Whether it’s a System Preference, a business app that accesses  information in the Cloud, or an application that uses multi-touch or uses a camera, you will have a solid foundation in app development to get the job done.

Mac Application Development by Example takes you through all the aspects of using the Xcode development tool to produce complete working apps that cover a broad range of topics. This comprehensive book on developing applications covers everything a beginner needs to know and demonstrates the concepts using examples that take advantage of some of the most interesting hardware and software features available.

You will discover the fundamental aspects of OS X development while investigating innovative platform features to create a final product which take advantage of the unique aspects of OS X.

Learn how to use Xcode tools to create and share Mac OS X apps. Explore numerous OS X features including iCloud, multi-touch trackpad, and the iSight camera.

This book provides you with an illustrated and annotated guide to bring your idea to life using fundamental concepts that work on Mac.

Authors

Table of Contents

Chapter 1: 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
Chapter 2: 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
Chapter 3: 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
Chapter 4: 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
Chapter 5: 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
Chapter 6: 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
Chapter 7: 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
Chapter 8: 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
Chapter 9: 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
Chapter 10: 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

Book Details

ISBN 139781849693820
Paperback318 pages
Read More