Mac Application Development by Example: Beginners Guide

More Information
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
About

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.

Features
  • 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
Page Count 318
Course Length 9 hours 32 minutes
ISBN 9781849693820
Date Of Publication 21 Dec 2012
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
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
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
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
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
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
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
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

Authors

Robert Wiebe

Robert Wiebe was born in 1961. He has more than 30 years experience designing, implementing, and testing software. He wrote his first App in 1979, as a high school student, using 6502 assembler code on an Ohio Scientific C2-4P computer with 8k RAM. More recently, he has focused on developing games and utilities for Mac OS X. His interests include a vintage computer collection which includes many pre-IBM PC era microcomputers; Apple Macintosh computers starting with the SE/30 running Mac OS 7 through to the Macbook Pro running Mac OS X that he uses today. He has developed many popular Mac OS X Apps including ShredIt X, NetShred X, Music Man, iVCD, and many more. He has experience developing software in a number of industries, including mining, finance, and communications. He has worked for a number of employers including Motorola as a Senior Systems Architect developing two-way wireless data systems and Infowave Software as the Software Development Manager for their Imaging Division. After working for other people's companies, he founded his own companies, Mireth Technology and Burningthumb Software, which are his primary interests today. He is also the author of Unity iOS Essential book (ISBN 978-1-849691-82-6).