Skip to main content

Advanced iOS 4 Programming: Developing Mobile Applications for Apple iPhone, iPad, and iPod touch



Advanced iOS 4 Programming: Developing Mobile Applications for Apple iPhone, iPad, and iPod touch

Maher Ali

ISBN: 978-0-470-97165-9 October 2010 720 Pages

Download Product Flyer

Download Product Flyer

Download Product Flyer is to download PDF in new tab. This is a dummy description. Download Product Flyer is to download PDF in new tab. This is a dummy description. Download Product Flyer is to download PDF in new tab. This is a dummy description. Download Product Flyer is to download PDF in new tab. This is a dummy description.


With Advanced iOS 4 Programming, developers have the expert guidance they need to create amazing applications for Apple's iPhone, iPad, and iPod touch.

Inside, veteran mobile developer Dr. Maher Ali begins with a foundation introduction to Objective C and Cocoa Touch programming, and then guides readers through building apps with Apple's iPhone SDK 4 – including coverage of the major categories of new APIs and building apps for the new Apple iPad.

This book concentrates on illustrating GUI concepts programmatically, allowing readers to fully appreciate the complete picture of iOS 4 development without relying on Interface Builder. In addition, Interface Builder is covered in several chapters.

Advanced iOS 4 Programming delves into more advanced topics going beyond the basics of iOS 4 development, providing comprehensive coverage that will help you get your apps to the App Store quicker.

Key features include:

  • Objective-C programming language and runtime
  • Interface Builder
  • Building advanced mobile user interfaces
  • Collections
  • Cocoa Touch
  • Core Animation and Quartz 2D
  • Model-view-controller (MVC) designs
  • Developing for the iPad
  • Grand Central Dispatch
  • Parsing XML documents using SAX, DOM, and TouchXML
  • Working with the Map Kit API
  • Remote and Local Push Notification
  • Blocks (closures) in Objective-C
  • Building advanced location-based applications
  • Developing database applications using the SQLite engine
  • GameKit framework

Publisher's Acknowledgments.

1 Getting Started.

1.1 iOS 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 Blocks.

2.12 Grand Central Dispatch (GCD).

2.13 The Objective-C Runtime.

2.14 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 Tab-Bar Controllers.

7.3 Navigation Controllers.

7.4 Modal View Controllers.

7.5 Summary.


8 Special-Purpose Views.

8.1 Picker View.

8.2 Progress View.

8.3 Scroll View.

8.4 Text View.

8.5 Alert View.

8.6 Action Sheet.

8.7 Web View.

8.8 Summary.


9 Table View.

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.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 the 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 User Interface 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 Local Notification.

17.7 Large Downloads and Uploads.

17.8 Sending Email.

17.9 Summary.


18 Working with the Address Book Database.

18.1 Introduction.

18.2 Property Types.

18.3 Accessing Single-Value Properties.

18.4 Accessing Multivalue 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.


22 Offline Mode.

22.1 Setting Up the Project.

22.2 Parsing XML Using the TouchXML Wrapper.

22.3 Showing a Screen Shot of the Last Session.

22.4 The TableView Controller.

22.5 Summary.


23 Peer-to-Peer Communication.

23.1 Basic Chat Application.

23.2 Exchanging Pictures.

23.3 Summary.


24 Developing for the iPad.

24.1 The Cities App: Iteration 1.

24.2 The Cities App: Iteration 2.

24.3 Split View Controller.

24.4 Modal View Controller Presentation Styles.

24.5 Summary.


Appendix A Saving and Restoring App State.

Appendix B Invoking External Applications.

Appendix C App Store Distribution.

Appendix D Using XCode.

D.1 XCode Shortcuts.

D.2 Creating Custom Templates.

D.3 Build-Based Configurations.

D.4 Using Frameworks.

Appendix 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.

Appendix F Working with Interface Builder.

F.1 National Debt Clock Application.

F.2 Toolbar Application.

References and Bibliography.