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

NOOK Book(eBook)

$17.99 $31.99 Save 44% Current price is $17.99, Original price is $31.99. You Save 44%.
View All Available Formats & Editions

Available on Compatible NOOK Devices and the free NOOK Apps.
WANT A NOOK?  Explore Now

Overview

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: 9780596554699
Publisher: O'Reilly Media, Incorporated
Publication date: 03/10/2008
Sold by: Barnes & Noble
Format: NOOK Book
Pages: 288
File size: 1 MB

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

Preface     v
Breaking Into and Setting Up the iPhone     1
Jailbreak Procedures     1
Installing BSD Subsystem     6
Additional Resources     6
Getting Started with Applications     7
Anatomy of an Application     7
Building the Free Tool Chain     10
Building and Installing Applications     15
Integrating with XCode     18
Transitioning to Objective-C     19
Introduction to UIKit     26
Basic User Interface Elements     27
Windows and Views     28
The Most Useless Application Ever     30
Deriving from UIView     31
The Second Most Useless Application Ever     32
Text Views     35
Navigation Bars     40
Transition Views     48
Alert Sheets     54
Tables     61
Status Bar Manipulation     74
Application Badges     77
Application Services     78
Event Handling and Graphics Services     81
Introduction to Geometric Structures     81
Introduction to GSEvent     84
Example: The Icon Shuffle     89
Advanced Graphics Programming with Core Surface and Layer Kit     96
Understanding Layers     96
Screen Surfaces     97
Layer Animation     103
Layer Transformations     111
Making Some Noise     116
Core Audio: It's Great, but You Can't Use It     116
Celestial     117
Audio Toolbox     132
Advanced UIKit Design     149
Controls     151
Preferences Tables     157
Progress Indicators     169
UIProgressBar: When Spinny Things Are Tacky     173
Progress HUDs: When It's Important Enough to Block Stuff     176
Image Handling     179
Section Lists     190
Keyboards     200
Pickers     208
Date/Time Pickers     213
Button Bars     218
Creating a Button Bar     218
Orientation Changes     226
Web Views and Scrollers     230
Miscellaneous Hacks and Recipes     243
Index     261

Customer Reviews

Most Helpful Customer Reviews

See All Customer Reviews