Certain technologies bring out everyone's hidden geek, and iPhone did the moment it was released. Even though Apple created iPhone as a closed device, tens of thousands of developers bought them with the express purpose of designing and running third-party software.
In this clear and concise book, veteran hacker Jonathan Zdziarski -- one of the original hackers of the iPhone -- explains the iPhone's native environment and how you can build software for this device using its Objective-C, C, and C++ development frameworks.
iPhone Open Application Development walks you through the iPhone's native development environment, offers an overview of the Objective-C language you'll use with it, and supplies background for the iPhone operating system. You also get detailed recipes and working examples for everyone's favorite iPhone features -- graphics and audio programming, interfaces for adding multitouch functionality to games, the use of hardware sensors, and the device's vast user interface kit.
This book explains:
- How to access the iPhone's underlying operating system
- The makeup of an iPhone application
- How to get the open source tool chain running on your desktop
- The iPhone's core user interface framework, which is heavily tied to major application-level functions
- Using the many touted iPhone features such as multitouch, hardware sensors, and gestures
- Intercepting and handling event notifications for many iPhone-related events
- Raw video surfaces and 3D transformations that take you deeper into advanced graphics on the iPhone
- How to record and play simple sounds and intercept sound events
- Advanced digital audio output using Apple's new Audio Toolbox framework
- Advanced user interface components such as section lists, keyboards, and image manipulation
The Appendix includes a compendium of miscellaneous code examples for cool application features, such as using the camera and creating a CoverFlow®-like album browser.
This book is a true hacker's book, designed for the millions of users who have run third party applications on their iPhone, but its concepts and code examples have shown to be remarkably similar to Apple's official SDK, making this book a valuable resource for both camps. Any programmer can use this book to write applications with the same spectacular effects that made the device an immediate hit, and impress users just as much as the official iPhone software does. That programmer can easily be you.