Skip to main content

iPhone SDK 3 Programming: Advanced Mobile Development for Apple iPhone and iPod touch



iPhone SDK 3 Programming: Advanced Mobile Development for Apple iPhone and iPod touch

Maher Ali

ISBN: 978-0-470-68635-5 July 2009 672 Pages


Get the expert guidance you need to begin building native applications for Apple's new iPhone 3G as well as the iPod Touch

Apple's iPhone is the hottest mobile device on the planet. More than one million iPhone 3G phones were sold in the first three days of release and millions more are sure to be in the hands of iPhone fans each year. Apple's iPhone SDK has been updated and includes more than one thousand new APIs that developers will want to get their hands on.

iPhone SDK 3 Programming shows you how to build great applications for the iPhone and iPod Touch. Inside, veteran mobile developer and Bell Labs scientist Maher Ali begins with a foundational introduction to Objective-C and Cocoa programming, and then guides you through building programs with Apple's iPhone SDK 3.

  • Covers the complete application development process, and highlights all the key device features including the camera, location awareness, and more
  • Completely revised and redesigned with more than 100 new pages of content
  • iPhone's new SDK release contains more than one thousand new APIs you will want to use right away
  • Includes a focused introduction to the Objective-C language and Cocoa frameworks that new iPhone developers need

With this advanced resource, you'll get the expert guidance you need to begin building native applications for Apple's new iPhone 3G as well as the iPod Touch.


1 Getting Started.

1.1 SDK and IDE Basics.

1.2 Creating Interfaces.

1.3 Using the Debugger.

1.4 Getting More Information.

1.5 Summary.


2 Objective-C and Cocoa.

2.1 Classes.

2.2 Memory Management.

2.3 Protocols.

2.4 Properties.

2.5 Categories.

2.6 Posing.

2.7 Exceptions and Errors.

2.8 Key-value coding (KVC).

2.9 Multithreading.

2.10 Notifications.

2.11 The Objective-C Runtime.

2.12 Summary.


3 Collections.

3.1 Arrays.

3.2 Sets.

3.3 Dictionaries.

3.4 Summary.


4 Anatomy of an iPhone Application.

4.1 Hello World Application.

4.2 Building the Hello World Application.

4.3 Summary.


5 TheView.

5.1 View Geometry.

5.2 The View Hierarchy.

5.3 The Multitouch Interface.

5.4 Animation.

5.5 Drawing.

5.6 Summary.


6 Controls.

6.1 The Foundation of all Controls.

6.2 The Text Field.

6.3 Sliders.

6.4 Switches.

6.5 Buttons.

6.6 Segmented Controls.

6.7 Page Controls.

6.8 Date Pickers.

6.9 Summary.


7 View Controllers.

7.1 The Simplest View Controller.

7.2 Radio Interfaces.

7.3 Navigation Controllers.

7.4 Modal View Controllers.

7.5 Summary.


8 Special-Purpose Views.

8.1 Picker View.

8.2 Progress Views.

8.3 Scroll View.

8.4 Text View.

8.5 Alert View.

8.6 Action Sheet.

8.7 Web View.

8.8 Summary.


9 TableView.

9.1 Overview.

9.2 The Simplest Table View Application.

9.3 A Table View with both Images and Text.

9.4 A Table View with Section Headers and Footers.

9.5 A Table View with the Ability to Delete Rows.

9.6 A Table View with the Ability to Insert Rows.

9.7 Reordering Table Rows.

9.8 Presenting Hierarchical Information.

9.8.1 Detailed example.

9.9 Grouped Table Views.

9.10 Indexed Table Views.

9.11 Dynamic Table Views.

9.12 Whitening Text in Custom Cells.

9.13 Summary.


10 File Management.

10.1 The Home Directory.

10.2 Enumerating a Directory.

10.3 Creating and Deleting a Directory.

10.4 Creating Files.

10.5 Retrieving and Changing Attributes.

10.6 Working with Resources and Low-level File Access.

10.7 Summary.


11 Working with Databases.

11.1 Basic Database Operations.

11.2 Processing Row Results.

11.3 Prepared Statements.

11.4 User-defined Functions.

11.5 Storing BLOBs.

11.6 Retrieving BLOBs.

11.7 Summary.


12 XML Processing.

12.1 XML and RSS.

12.2 Document Object Model (DOM).

12.3 Simple API for XML (SAX).

12.4 An RSS Reader Application.

12.5 Putting It Together.

12.6 Summary.


13 Location Awareness.

13.1 The Core Location Framework.

13.2 A Simple Location-aware Application.

13.3 Google Maps API.

13.4 A Tracking Application with Maps.

13.5 Working with ZIP Codes.

13.6 Working with the Map Kit API.

13.7 Summary.


14 Working with Devices.

14.1 Working with the Accelerometer.

14.2 Working with Audio.

14.3 Playing Video.

14.4 Accessing Device Information.

14.5 Taking and Selecting Pictures.

14.6 Monitoring Device Battery.

14.7 Accessing the Proximity Sensor.

14.8 Summary.


15 Internationalization.

15.1 String Localization.

15.2 Date Formatting.

15.3 Number Formatting.

15.4 Sorted List of Countries.

15.5 Summary.


16 Custom UI Components.

16.1 Text Field Alert View.

16.2 Table Alert View.

16.3 Progress Alert View.

16.4 Summary.


17 Advanced Networking.

17.1 Determining Network Connectivity.

17.2 Uploading Multimedia Content.

17.3 Computing MD5 Hash Value.

17.4 Multithreaded Downloads.

17.5 Push Notification.

17.6 Sending Email.

17.7 Summary.


18 Working with the Address Book Database.

18.1 Introduction.

18.2 Property Types.

18.3 Accessing Single-Value Properties.

18.4 Accessing Multi-Value Properties.

18.5 Person and Group Records.

18.6 Address Book.

18.7 Multithreading and Identifiers.

18.8 Person Photo Retriever Application.

18.9 Using the ABUnknownPersonViewController Class.

18.10 Using the ABPeoplePickerNavigationController Class.

18.11 Using the ABPersonViewController Class.

18.12 Using the ABNewPersonViewController Class.

18.13 Summary.


19 Core Data.

19.1 Core Data Application Components.

19.2 Key Players.

19.3 Using the Modeling Tool.

19.4 Create, Read, Update and Delete (CRUD).

19.5 Working with Relationships.

19.6 A Search Application.

19.7 Summary.


20 Undo Management.

20.1 Understanding Undo Management.

20.2 Detailed Example.

20.3 Wrapping Up.

20.4 Summary.


21 Copy and Paste.

21.1 Pasteboards.

21.2 Pasteboard Items.

21.3 The Editing Menu.

21.4 Putting it Together.

21.5 Summary.



A Saving and Restoring App State.

B Invoking External Applications.

C App Store Distribution.

D Using XCode.

D.1 XCode Shortcuts.

D.2 Creating Custom Templates.

D.3 Build-Based Configurations.

D.4 Using Frameworks.

E Unit Testing.

E.1 Adding a Unit Test Target.

E.2 Adapting to Foundation.

E.3 The Model.

E.4 Writing Unit Tests for the Employee Class.

E.5 Adding a Build Dependency.

E.6 Running the Tests.

F Working with Interface Builder.

F.1 National Debt Clock Application.

F.2 Toolbar Application.

References and Bibliography.