iPhone and iPad in Action
Introduction to SDK Development
Brandon Trebitowski, Christopher Allen, and Shannon Appelcline
  • August 2010
  • ISBN 9781935182580
  • 432 pages
  • printed in black & white

Everything you need to know about these devices of the future!

Berndt Hamboeck, pmOne

This hands-on tutorial will help you master iPhone/iPad development using the native iPhone SDK. It guides you from setting up dev tools like Xcode and Interface Builder, through coding your first app, all the way to selling in the App Store.

Using many examples, the book covers core features like accelerometers, GPS, the Address Book, and much more. Along the way, you'll learn to leverage your iPhone skills to build attractive iPad apps. This is a revised and expanded edition of the original iPhone in Action.

Table of Contents detailed table of contents

preface

acknowledgments

about this book

1. Introducing the iPhone and iPad

1.1. A bit of history

1.2. All for one and one for all: the iPhone OS platform

1.3. Core hardware specifications

1.4. How the iPhone and iPad are unique

1.5. Understanding iPhone and iPad touch interaction

1.6. Summary

2. Learning Objective-C and the iPhone OS SDK

2.1. Getting ready for the SDK

2.2. Introducing Objective-C

2.3. Introducing the iPhone OS

2.4. The iPhone OS’s methods

2.5. Summary

3. Using Xcode

3.1. Introducing Xcode

3.2. Creating a first iPhone project in Xcode: Hello, World!

3.3. Creating a first iPad project in Xcode: Hello, World!

3.4. Creating a new class in Xcode

3.5. Other Xcode functionality

3.6. Summary

4. Using Interface Builder

4.1. An introduction to Interface Builder

4.2. A first project in Interface Builder: pictures and the web

4.3. Building connections in Interface Builder

4.4. Other Interface Builder functionality

4.5. Summary

5. Creating basic view controllers

5.1. The view controller family

5.2. The standard view controller

5.3. The table view controller

5.4. Summary

6. Monitoring events and actions

6.1. An introduction to events

6.2. A touching example: the event reporter

6.3. Other event functionality

6.4. An introduction to actions

6.5. Adding a button to an application

6.6. Other action functionality

6.7. Introducing notifications

6.8. Summary

7. Creating advanced view controllers

7.1. The tab bar view controller

7.2. The navigation controller

7.3. Using the flipside controller

7.4. The split view controller

7.5. Popover and modal view controllers

7.6. Summary

8. Data: actions, preferences, and files

8.1. Accepting user actions

8.2. Maintaining user preferences

8.3. Opening files

8.4. Summary

9. Data: advanced techniques

9.1. Using SQLite

9.2. Accessing the Address Book

9.3. An introduction to Core Data

9.4. Summary

10. Positioning: accelerometers, location, and the compass

10.1. The accelerometers and orientation

10.2. The accelerometers and movement

10.3. The accelerometers and gestures

10.4. All about Core Location

10.5. Summary

11. Media: images and the camera

11.1. An introduction to images

11.2. Drawing simple images with Core Graphics

11.3. Accessing photos

11.4. Collage: an image example

11.5. Summary

12. Media: audio and recording

12.1. Playing audio from the iPod library

12.2. Recording audio

12.3. Playing sounds manually

12.4. Example: creating a simple audio recording/playback application

12.5. Recording, playing, and accessing video

12.6. Summary

13. Graphics: Quartz, Core Animation, and OpenGL

13.1. An introduction to Quartz 2D

13.2. The Quartz context

13.3. Drawing paths

13.4. Setting the graphical state

13.5. Advanced drawing in Quartz

13.6. Drawing on a picture: an example

13.7. An introduction to Core Animation

13.8. An introduction to OpenGL

13.9. Summary

14. The web: web views and internet protocols

14.1. The hierarchy of the internet

14.2. Low-level networking

14.3. Working with URLs

14.4. Using UIWebView

14.5. Parsing XML

14.6. POSTing to the web

14.7. Accessing the social web

14.8. Summary

15. Peer-to-peer connections using Game Kit

15.1. Overview of Game Kit

15.2. Creating peer-to-peer applications using the peer picker

15.3. Example: creating a multiplayer table tennis game

15.4. Summary

16. Push notification services

16.1. What are push notifications?

16.2. An overview of Apple’s push notification system

16.3. Preparing your application to use push notifications

16.4. Creating a push notification provider in PHP

16.5. Summary

17. The Map Kit framework

17.1. Overview of Map Kit

17.2. Adding a map to an application

17.3. Reverse geocoding

17.4. Annotating the map

17.5. Summary

18. In-app purchasing using Store Kit

18.1. Setting up a sandbox testing environment

18.2. Creating a simple store interface

18.3. Summary

19. iPhone SDK enhancements

19.1. Custom keyboard accessories

19.2. Going forward: the iPhone 4.0 SDK

19.3. Summary

Appendix A: iPhone OS class reference

Appendix B: External sources and references

Appendix C: Publishing your SDK program

Appendix D: Updating current applications for the iPad

index

What's inside

  • Full coverage of the iPhone SDK
  • In-app purchasing with Store Kit
  • Audio and recording
  • Core Data, Core Location, Game Kit, Map Kit
  • And much more!

About the reader

No previous iPhone or iPad know-how needed. Familiarity with C, Cocoa, or Objective-C helps but is not required.

About the authors

Brandon Trebitowski is a professional mobile developer with ELC Technologies and founder of iCodeBlog.com. Christopher Allen is the host of iphonewebdev.com and an organizer of iPhoneDevCamp. Shannon Appelcline is a writer, technologist, and game developer. Christopher and Shannon wrote iPhone in Action.


combo $39.99 pBook + eBook
eBook $31.99 pdf + ePub + kindle

FREE domestic shipping on three or more pBooks

Apple should make this its official iPhone and iPad development book.

Jason Jung, Rockwell

Gets you up to speed and developing in a snap.

Clint Tredway, Developed It

Don't launch Xcode without it.

Ted Neward, Neward & Associates

Exactly what iNeed for iPhone development.

Christopher Haupt, Webvanta.com