IPhone iOS 4 Development Essentials
From Techotopia
This eBook is currently under development and is scheduled for completion in March 2011. The goal of this book is to provide the essential knowledge necessary to develop iOS 4 based applications to run on the iPhone.
- About iPhone iOS 4 App Development Essentials
- The Anatomy of an iPhone 4
- The iOS 4 Architecture and SDK Frameworks
- The iPhone iOS 4 Cocoa Touch Layer
- The iPhone iOS 4 Media Layer
- iOS 4 Graphics and Video Support
- Core Video Framework (CoreVideo.framework)
- Core Text Framework (CoreText.framework)
- Image I/O Framework (ImageIO.framework)
- Assets Library Framework (AssetsLibrary.framework)
- Core Graphics Framework (CoreGraphics.framework)
- Quartz Core Framework (QuartzCore.framework)
- OpenGL ES framework (OpenGLES.framework)
- iOS Audio Support
- AV Foundation framework (AVFoundation.framework)
- Core Audio Frameworks (CoreAudio.framework, AudioToolbox.framework and AudioUnit.framework)
- Open Audio Library (OpenAL)
- Media Player framework (MediaPlayer.framework)
- Core Midi Framework (CoreMIDI.framework)
- The iPhone iOS 4 Core Services Layer
- Address Book framework (AddressBook.framework)
- CFNetwork Framework (CFNetwork.framework)
- Core Data Framework (CoreData.framework)
- Core Foundation Framework (CoreFoundation.framework)
- Core Media Framework (CoreMedia.framework)
- Core Telephony Framework (CoreTelephony.framework)
- EventKit Framework (EventKit.framework)
- Foundation Framework (Foundation.framework)
- Core Location Framework (CoreLocation.framework)
- Mobile Core Services Framework (MobileCoreServices.framework)
- Store Kit Framework (StoreKit.framework)
- SQLite library
- System Configuration Framework (SystemConfiguration.framework)
- Quick Look Framework (QuickLook.framework)
- The iPhone iOS 4 Core OS Layer
- Installing Xcode and the iOS 4 SDK
- Creating a Simple iPhone iOS 4 App
- Testing iOS 4 Apps on the iPhone – Developer Certificates and Provisioning Profiles
- Joining the iOS Developer Program
- Creating an iOS Development Certificate Signing Request
- Submitting the iOS Development Certificate Signing Request
- Installing an iOS Development Certificate
- Assigning Devices
- Creating an App ID
- Creating an iOS Development Provisioning Profile
- Selecting a Device for Development
- Associating an App ID with an App
- Installing an App onto a Device
- The Basics of Objective-C Programming (iOS4 iPhone)
- The Basics of iPhone iOS 4 Object Oriented Programming in Objective-C
- What is an Object?
- What is a Class?
- Declaring an Objective-C Class Interface
- Adding Instance Variables to a Class
- Define Class Methods
- Declaring an Objective-C Class Implementation
- Declaring, Initializing and Releasing a Class Instance
- Calling Methods and Accessing Instance Data
- Creating the Program Section
- Bringing it all Together
- Structuring Object-Oriented Objective-C Code
- An Overview of the iPhone iOS 4 Application Development Architecture
- Creating an Interactive iOS 4 iPhone App
- Writing iOS 4 Code to Hide the iPhone Keyboard
- Understanding iPhone iOS 4 Views, Windows and the View Hierarchy
- iOS 4 iPhone Rotation, View Resizing and Layout Handling
- Creating an iOS 4 iPhone Multiview Application using the Tab Bar
- An Overview of the Tab Bar
- Understanding View Controllers in an iOS 4 iPhone Multiview Application
- Setting up the Tab Bar Example Application
- Creating the Content Views and View Controllers
- Configuring the App Delegate
- Creating the UITabBarController
- Associating Content Views with Tabs
- Connecting the App Delegate Outlet to the Tab Bar Controller
- Designing the Content Views
- Testing the Multiview Application
- Creating a Simple iOS 4 iPhone Table View Application
- An Overview of the Table View
- The Table View Delegate and dataSource
- Table View Styles
- Table View Cell Styles
- Setting up the Project
- Adding the Table View Component
- Making the Delegate and dataSource Connections
- Implementing the dataSource
- Building and Running the Application
- Adding Table View Images and Changing Cell Styles
- Creating a Navigation based iOS 4 iPhone Application using TableViews
- Understanding the Navigation Controller
- An Overview of the Example
- Setting up the Project
- Reviewing the Project Files
- Setting up the Data in the Root View Controller
- Writing Code to Display the Data in the Table View
- Creating the Second View Controller
- Connecting the Second View Controller to the Root View Controller
- Creating the NIB File for the Second Table View
- Implementing the Functionality of the Second View Controller
- Popping the View Controller off the Navigation Controller Stack
- Adding the Navigation Code
- Working with Directories on iOS 4 (iPhone)
- The Application Documents Directory
- The Objective-C NSFileManager, NSFileHandle and NSData Classes
- Understanding Pathnames in Objective-C
- Creating an NSFileManager Instance Object
- Identifying the Current Working Directory
- Identifying the Documents Directory
- Identifying the Temporary Directory
- Changing Directory
- Creating a New Directory
- Deleting a Directory
- Listing the Contents of a Directory
- Getting the Attributes of a File or Directory
- Working with Files on iOS 4 (iPhone)
- Creating an NSFileManager Instance
- Checking if a File Exists
- Comparing the Contents of Two Files
- Checking if a File is Readable/Writable/Executable/Deletable
- Moving/Renaming a File
- Copying a File
- Removing a File
- Creating a Symbolic Link
- Reading and Writing Files with NSFileManager
- Working with Files using the NSFileHandle Class
- Creating an NSFileHandle Object
- NSFileHandle File Offsets and Seeking
- Reading Data from a File
- Writing Data to a File
- Truncating a File
- iOS 4 iPhone Directory Handling and File I/O – A Worked Example
- iOS 4 iPhone Data Persistence using Archiving
- iOS 4 iPhone Database Implementation using SQLite
- What is SQLite?
- Structured Query Language (SQL)
- Trying SQLite on MacOS X
- Preparing an iOS 4 Application Project for SQLite Integration
- Key SQLite Functions
- Declaring a SQLite Database
- Opening or Creating a Database
- Preparing and Executing a SQL Statement
- Creating a Database Table
- Extracting Data from a Database Table
- Closing a SQLite Database
- An Example SQLite based iOS 4 iPhone Application
- About the Example SQLite iPhone Application
- Creating and Preparing the SQLite Application Project
- Importing sqlite3.h and Declaring the Database Reference
- Creating the Outlets and Actions
- Releasing Memory
- Creating the Database and Table
- Implementing the Code to Save Data to the SQLite Database
- Implementing Code to Extract Data from the SQLite Database
- Designing the User Interface
- Building and Running the Application
- Working with iOS 4 iPhone Databases using Core Data
- The Core Data Stack
- Managed Objects
- Managed Object Context
- Managed Object Model
- Persistent Store Coordinator
- Persistent Object Store
- Defining an Entity Description
- Obtaining the Managed Object Context
- Getting an Entity Description
- Creating a Managed Object
- Getting and Setting the Attributes of a Managed Object
- Fetching Managed Objects
- Retrieving Managed Objects based on Criteria
- An iOS 4 iPhone Core Data Tutorial
- The iPhone Core Data Example Application
- Creating a Core Data based iPhone Application
- Creating the Entity Description
- Adding a View Controller
- Connecting the View
- Adding Actions and Outlets to the View Controller
- Designing the User Interface
- Saving Data to the Persistent Store using Core Data
- Retrieving Data from the Persistent Store using Core Data
- Releasing Memory
- Building and Running the Example Application
- An Overview of iOS 4 iPhone Multitouch, Taps and Gestures
- An Example iOS 4 iPhone Touch, Multitouch and Tap Application
- The Example iOS iPhone Tap and Touch Application
- Creating the Example iOS Touch Project
- Creating the Outlets
- Designing the user Interface
- Enabling Multitouch on the View
- Implementing the touchesBegan Method
- Implementing the touchesMoved Method
- Implementing the touchesEnded Method
- Building and Running the Touch Example Application
- Detecting iOS 4 iPhone Touch Screen Gesture Motions
- Drawing iOS 4 iPhone 2D Graphics with Quartz
- An iOS 4 iPhone Graphics Drawing Tutorial using Quartz 2D
- The iOS iPhone Drawing Example Application
- Creating the New Project
- Creating the UIView Subclass
- Locating the drawRect Method in the UIView Subclass
- Drawing a Line
- Drawing Paths
- Drawing a Rectangle
- Drawing an Ellipse or Circle
- Filling a Path with a Color
- Drawing an Arc
- Drawing a Cubic Bézier Curve
- Drawing a Quadratic Bézier Curve
- Dashed Line Drawing
- Drawing an Image into a Graphics Context
- Integrating iAds into an iOS 4 iPhone App