Chapter 1. Introducing the iPhone and iPad
Chapter 2. Learning Objective-C and the iPhone OS SDK
Figure 2.1. Clicking iPhone SDK starts your installation.
Figure 2.3. Headers and source code files contain distinctive parts of your Objective-C classes.
Figure 2.6. A window contains one or more view controllers or views under the iPhone OS.
Chapter 3. Using Xcode
Figure 3.1. Xcode’s main project window shows all your files and allows you to quickly view them.
Figure 3.2. Hello, World! is easy to program on the iPhone using the SDK.
Chapter 4. Using Interface Builder
Figure 4.4. The Attributes tab shows all of an item’s basic information.
Figure 4.5. You can change an object’s position and size from the Size tab.
Figure 4.8. You need to drag and release to build a connection in Interface Builder.
Chapter 5. Creating basic view controllers
Figure 5.3. IB graphically depicts exactly what autoresizing looks like.
Figure 5.4. A table view controller controls a table view and its collection of cells.
Figure 5.5. A look at the connections automatically created for a controller’s table view
Chapter 6. Monitoring events and actions
Figure 6.2. UIEvent objects contain a set of related UITouch objects.
Figure 6.5. Your event responder uses a few graphical elements to report events as they occur.
Figure 6.7. With an IBAction, there’s no code, just a link.
Figure 6.9. A text field and a slider conspire to set the color of the iPhone’s background.
Chapter 7. Creating advanced view controllers
Figure 7.2. Dragging a tab bar controller to the nib display window creates the tab bar interface.
Figure 7.3. You can customize tab bars to make navigation clear and simple.
Figure 7.6. The navigation controller shown on both the iPad and iPhone
Figure 7.8. Several objects are created in a flipside controller.
Figure 7.9. Objects in Interface Builder can connect to a variety of different files.
Figure 7.10. Creating a split view–based application
Figure 7.11. The bookmarks application employing a split view
Figure 7.12. SplitViewController view elements in Interface Builder
Figure 7.13. A first look at your bookmark application as shown on an iPad in landscape orientation
Chapter 8. Data: actions, preferences, and files
Figure 8.1. This preferences page was built from scratch on the backside of a flipside controller.
Figure 8.5. Compiled programs contain several directories full of files.
Figure 8.6. The filesaver application with the keyboard activated on both the iPhone and the iPad
Chapter 9. Data: advanced techniques
Figure 9.1. This menu was created directly from a database.
Figure 9.3. A people picker view controller shown on both the iPad and iPhone
Chapter 10. Positioning: accelerometers, location, and the compass
Figure 10.1. The accelerometers measure acceleration in three-dimensional space.
Figure 10.3. The Accelerometer Graph shows movement in all three directions.
Figure 10.4. This simple utility shows off locations and distance.
Figure 10.5. An altitude program measures how high you’ve climbed on a mountain of your choice.
Chapter 11. Media: images and the camera
Figure 11.1. Images can be shown in UIImageViews or in UIViews.
Figure 11.2. The image picker is another preprogrammed controller for your use.
Figure 11.3. The collager displays many photos simultaneously.
Chapter 12. Media: audio and recording
Figure 12.1. The MPMediaPickerController
Figure 12.2. A simple media player interface
Figure 12.3. The talkback interface: a simple record/playback application
Chapter 13. Graphics: Quartz, Core Animation, and OpenGL
Figure 13.1. The iPhone does abstract art.
Figure 13.4. You can change a UIImage without showing it to the user.
Figure 13.5. PhotoDraw can place drawings on pictures.
Figure 13.6. A jet moves across the screen on an iPhone, thanks to Core Animation.
Chapter 14. The web: web views and internet protocols
Figure 14.1. Internet protocols are arranged in a hierarchy.
Figure 14.2. As shown on an iPhone, the thumbnail program removes web views that fail to load.
Figure 14.3. RSS feeds can easily be placed in table views.
Figure 14.4. Complex SDK programs can chain multiple classes.
Chapter 15. Peer-to-peer connections using Game Kit
Chapter 16. Push notification services
Figure 16.1. Example of a push notification
Figure 16.2. The pushtest icon with a badge count of 2
Figure 16.3. The lifecycle of a push notification
Figure 16.4. Configuring the app to receive push notifications
Figure 16.5. Wizard to create a push certificate
Figure 16.6. Provisioning profile form
Chapter 17. The Map Kit framework
Figure 17.1. Adding an MKMapView to your view
Figure 17.2. Connection Inspector for the MKMapView connections
Figure 17.3. mapTypes: (from left to right) MKMapTypeStandard, MKMapTypeSatellite, MKMapTypeHybrid
Chapter 18. In-app purchasing using Store Kit
Figure 18.1. Managing users in iTunes Connect
Figure 18.2. In App Purchase Test User
Figure 18.3. The form to add a new test user
Figure 18.4. Choosing Manage Your In App Purchases in iTunes Connect
Figure 18.5. Click the Create New button.
Figure 18.6. Setting up wallpaper product pricing in iTunes Connect
Figure 18.7. Creating a test product name and description in iTunes Connect
Figure 18.8. Your in-app purchase list in iTunes Connect
Figure 18.9. The wallpaper store interface as shown on the iPhone
Figure 18.10. Previewing the product in the wallpaper view
Figure 18.11. A purchase confirmation as shown on the iPhone
Figure 18.12. A successful purchase confirmation as shown on an iPhone
Chapter 19. iPhone SDK enhancements
Figure 19.1. Custom keyboard accessory in the Messages application
Figure 19.2. The sample application with a custom inputAccessoryView, as it appears on an iPad
Figure 19.3. Setting a custom class in the Identity Inspector
Appendix D. Updating current applications for the iPad
Figure D.1. Upgrading your build target for the iPad
Figure D.2. Info.plist to support multiple interface orientations
Figure D.3. Set the active build target to collage-iPad.
Figure D.4. Collage application running on the iPad
Figure D.5. Broken interface on the iPad