iPhone Open Application Development: Write Native Objective-C Applications for the iPhone

iPhone Open Application Development: Write Native Objective-C Applications for the iPhone

by Jonathan Zdziarski

Paperback(New Edition)

View All Available Formats & Editions


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.

Product Details

ISBN-13: 9780596518554
Publisher: O'Reilly Media, Incorporated
Publication date: 03/31/2008
Edition description: New Edition
Pages: 288
Product dimensions: 7.06(w) x 9.14(h) x 0.67(d)
Age Range: 18 Years

About the Author

Jonathan Zdziarski is better known as the hacker "NerveGas" in the iPhone development community. He is well known for his work in cracking the iPhone and lead the effort to port the first open source applications. Hailed on many geek news sites for his accomplishments, Jonathan is best known for the first application to illustrate and take full advantage of the major iPhone APIs: NES.app, a portable Nintendo Entertainment System emulator.

Jonathan is also a full-time research scientist and longtimespam-fighter. He is founder of the DSPAM project, a high profile, next-generation spam filter that was acquired in 2006 by a company designing software accelerators. He lectures widely on the topic of spam and is a foremost researcher in the fields of machine-learning and algorithmic theory.

Table of Contents

Audience for This Book;
Organization of the Material;
Conventions Used in This Book;
Using Code Examples;
Safari® Books Online;
Legal Disclaimer;
We'd Like to Hear from You;
Chapter 1: Breaking Into and Setting Up the iPhone;
1.1 Jailbreak Procedures;
1.2 Installing BSD Subsystem;
1.3 Additional Resources;
Chapter 2: Getting Started with Applications;
2.1 Anatomy of an Application;
2.2 Building the Free Tool Chain;
2.3 Building and Installing Applications;
2.4 Integrating with XCode;
2.5 Transitioning to Objective-C;
Chapter 3: Introduction to UIKit;
3.1 Basic User Interface Elements;
3.2 Windows and Views;
3.3 The Most Useless Application Ever;
3.4 Deriving from UIView;
3.5 The Second Most Useless Application Ever;
3.6 Text Views;
3.7 Navigation Bars;
3.8 Transition Views;
3.9 Alert Sheets;
3.10 Tables;
3.11 Status Bar Manipulation;
3.12 Application Badges;
3.13 Application Services;
Chapter 4: Event Handling and Graphics Services;
4.1 Introduction to Geometric Structures;
4.2 Introduction to GSEvent;
4.3 Example: The Icon Shuffle;
Chapter 5: Advanced Graphics Programming with Core Surface and Layer Kit;
5.1 Understanding Layers;
5.2 Screen Surfaces;
5.3 Layer Animation;
5.4 Layer Transformations;
Chapter 6: Making Some Noise;
6.1 Core Audio: It's Great, but You Can't Use It;
6.2 Celestial;
6.3 Audio Toolbox;
Chapter 7: Advanced UIKit Design;
7.1 Controls;
7.2 Preferences Tables;
7.3 Progress Indicators;
7.4 UIProgressBar: When Spinny Things Are Tacky;
7.5 Progress HUDs: When It's Important Enough to Block Stuff;
7.6 Image Handling;
7.7 Section Lists;
7.8 Keyboards;
7.9 Pickers;
7.10 Date/Time Pickers;
7.11 Button Bars;
7.12 Creating a Button Bar;
7.13 Orientation Changes;
7.14 Web Views and Scrollers;
Miscellaneous Hacks and Recipes;
Dumping the Screen;
Dumping the UI Hierarchy;
Invoking Safari;
Initiating Phone Calls;
Transparent Views;
Taking Camera Photos;
Cover Flow-Style Album Flipping;

Customer Reviews

Most Helpful Customer Reviews

See All Customer Reviews