Uh-oh, it looks like your Internet Explorer is out of date.
For a better shopping experience, please upgrade now.
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.
|Publisher:||O'Reilly Media, Incorporated|
|Sold by:||Barnes & Noble|
|File size:||2 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
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
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
Audio Toolbox 132
Advanced UIKit Design 149
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
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