Welcome to Scribd. Sign in or start your free trial to enjoy unlimited e-books, audiobooks & documents.Find out more
Standard view
Full view
of .
Look up keyword or section
Like this

Table Of Contents

About iOS Application Design
Understanding the iOS Runtime Environment
Designing the Core of Your Application
Supporting Common Application Behaviors
Executing Code in the Background
Meeting the App Store and System Requirements
Tuning Performance for the Underlying Device
See Also
Fast Launch, Short Use
Specialized System Behaviors
The Virtual Memory System
The Application Runtime Environment
The Automatic Sleep Timer
Multitasking Support
The Application Sandbox
File Protection
Keychain Data
The File System
A Few Important Application Directories
Table 1-1 Directories of an iOS application
A Case-Sensitive File System
Sharing Files with the User’s Desktop Computer
Backup and Restore
What Is Backed Up?
Files Saved During Application Updates
iOS Simulator
Determining the Available Hardware Support
Table 1-2 Identifying available features
Table 2-2 The role of objects in an iOS application
The Application Life Cycle
The main Function
Listing 2-1 The main function of an iOS application
The Application Delegate
Understanding an Application’s States and Transitions
Figure 2-3 Launching into the active state
Figure 2-4 Moving from the foreground to the background
Figure 2-6 Transitioning from the background to the foreground
Checklist for Supporting Multitasking
Being a Responsible, Multitasking-Aware Application
Responding to System Changes While in the Background
Table 2-4 Notifications delivered to waking applications
Opting Out of Background Execution
Windows, Views, and View Controllers
The Event-Handling System
Figure 2-7 Processing events in the main run loop
The Graphics and Drawing System
The Text System
Figure 2-8 Several different keyboards and input methods
Audio and Video Support
Integration with the Hardware and System Applications
Table 2-5 System integration technologies
Preserving the State of Your Application’s User Interface
Launching in Landscape Mode
Adding Support for AirPlay
Files and the File System
Getting Paths to Standard Application Directories
Table 3-1 Commonly used search path constants
Listing 3-1 Getting the path to the application’s Documents directory
Sharing Files with the User
Working with Protected Files
Marking a File as Protected
Opening Files Whose Type Is Unknown
Implementing Support for Custom File Formats
Listing 3-2 Document type information for a custom file format
Communicating with Other Applications
Implementing Custom URL Schemes
Registering Custom URL Schemes
Table 3-2 Keys and values of the CFBundleURLTypes property
Figure 3-1 Defining a custom URL scheme in the Info.plist file
Handling URL Requests
Listing 3-3 Handling a URL request based on a custom scheme
Displaying Application Preferences
Turning Off Screen Locking
Determining Whether Multitasking Support Is Available
Listing 4-1 Checking for background support in earlier versions of iOS
Declaring the Background Tasks You Support
Implementing Long-Running Background Tasks
Tracking the User’s Location
Playing Background Audio
Implementing a VoIP Application
Table 4-1 Configuring stream interfaces for VoIP usage
Completing a Finite-Length Task in the Background
Listing 4-2 Starting a background task at quit time
Scheduling the Delivery of Local Notifications
Listing 4-3 Scheduling an alarm notification
The Settings Application Interface
Implementing Application Preferences
The Settings Bundle
Table 5-2 Contents of the Settings.bundle directory
The Settings Page File Format
Table 5-3 Root-level keys of a preferences Settings page file
Hierarchical Preferences
Figure 5-1 Organizing preferences using child panes
Localized Resources
Configuring a Settings Page: A Tutorial
Creating Additional Settings Page Files
Accessing Your Preferences
Listing 5-1 Accessing preference values in an application
Specifying Default Values for Preferences
Debugging Preferences for Simulated Applications
The Application Bundle
Build-Time Configuration Details
The Information Property List
Figure 6-1 The information property list editor
Figure 6-2 The Properties pane of a target’s Info window
iTunes Requirements
Declaring the Required Device Capabilities
Table 6-2 Dictionary keys for the UIRequiredDeviceCapabilities key
Application Icons
Table 6-3 Sizes for images in the CFBundleIconFiles key
Application Launch Images
Table 6-4 Typical launch image dimensions
Providing Launch Images for Different Orientations
Table 6-5 Launch image orientation modifiers
Providing Device-Specific Launch Images
Providing Launch Images for Custom URL Schemes
Creating a Universal Application
Configuring Your Xcode Project
Updating Your Info.plist Settings
Updating Your View Controllers and Views
Adding Runtime Checks for Newer Symbols
Using Runtime Checks to Create Conditional Code Paths
Updating Your Resource Files
Using a Single Xcode Project to Build Two Applications
Internationalizing Your Application
Do Not Block the Main Thread
Use Memory Efficiently
Tuning for Performance and Responsiveness
Observing Low-Memory Warnings
Reduce Your Application’s Memory Footprint
Table 7-1 Tips for reducing your application’s memory footprint
Allocate Memory Wisely
Floating-Point Math Considerations
Reduce Power Consumption
Tune Your Code
Improve File Access Times
Tune Your Networking Code
Tips for Efficient Networking
Using Wi-Fi
The Airplane Mode Alert
Document Revision History
0 of .
Results for:
No results containing your search query
P. 1


Ratings: (0)|Views: 1,326|Likes:
Published by Vineet Batra

More info:

Published by: Vineet Batra on Apr 11, 2011
Copyright:Attribution Non-commercial


Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less





You're Reading a Free Preview
Pages 4 to 22 are not shown in this preview.
You're Reading a Free Preview
Pages 26 to 77 are not shown in this preview.
You're Reading a Free Preview
Pages 81 to 114 are not shown in this preview.

Activity (2)

You've already reviewed this. Edit your review.
1 thousand reads
1 hundred reads

You're Reading a Free Preview

/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->