Difference between revisions of "IPad iOS 4 App development Essentials - Xcode 4 Edition"
From Techotopia
Line 456: | Line 456: | ||
#* [[Playing Audio on an iPad using AVAudioPlayer (Xcode 4)|Releasing Memory]] | #* [[Playing Audio on an iPad using AVAudioPlayer (Xcode 4)|Releasing Memory]] | ||
#* [[Playing Audio on an iPad using AVAudioPlayer (Xcode 4)|Building and Running the Application]]<br><br> | #* [[Playing Audio on an iPad using AVAudioPlayer (Xcode 4)|Building and Running the Application]]<br><br> | ||
+ | # [[Recording Audio on an iPad with AVAudioRecorder (Xcode 4)|Recording Audio on an iPad with AVAudioRecorder]] |
Revision as of 14:25, 9 May 2011
This eBook is currently under development and is scheduled for completion in June 2011. New chapters are added regularly be so please check back for updates.
Table of Contents
- Introduction
- The Anatomy of an iPad 2
- iOS 4 Architecture and SDK Frameworks
- iPhone OS becomes iOS
- An Overview of the iOS 4 Architecture
- The Cocoa Touch Layer
- UIKit Framework (UIKit.framework)
- Map Kit Framework (MapKit.framework)
- Push Notification Service
- Message UI Framework (MessageUI.framework)
- Address Book UI Framework (AddressUI.framework)
- Game Kit Framework (GameKit.framework)
- iAd Framework (iAd.framework)
- Event Kit UI Framework
- The iOS Media Layer
- 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 iOS 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 iOS Core OS Layer
- Accelerate Framework (Accelerate.framework)
- External Accessory framework (ExternalAccessory.framework)
- Security Framework (Security.framework)
- System (LibSystem)
- Installing Xcode 4 and the iOS 4 SDK (iPad)
- Creating a Simple iPad iOS 4 App
- Testing iOS 4 Apps on the iPad – 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
- Enabling an iPad Device for Development
- Associating an App ID with an App
- iOS and SDK Version Compatibility
- Installing an App onto a Device
- An Overview of the iPad iOS 4 Application Development Architecture
- Creating an Interactive iOS 4 iPad App (Xcode 4)
- Writing iOS 4 Code to Hide the iPad Keyboard
- Understanding iPad iOS 4 Views, Windows and the View Hierarchy
- iOS 4 iPad Rotation, View Resizing and Layout Handling (Xcode 4)
- Creating an iOS 4 iPad Multiview Application using the Tab Bar
- An Overview of the Tab Bar
- Understanding View Controllers in a Multiview Application
- Setting up the Tab Bar Example Application
- Configuring the App Delegate
- Creating the UITabBarController
- Connecting the App Delegate Outlet to the Tab Bar Controller
- Creating the Content Views and View Controllers
- Associating Content Views with Tabs
- Testing the Multiview Application
- Creating a Simple iOS 4 iPad 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 iPad 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
- An iPad iOS 4 Split View and Popover Example
- Using the UIPickerView and UIDatePicker Components in iOS 4 iPad Applications
- An iOS 4 iPad Multiple Component UIPickerView Example (Xcode 4)
- Working with Directories on the iPad with iOS 4
- 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 the iPad with iOS 4
- 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
- NSFileHandle File Offsets and Seeking
- Reading Data from a File
- Writing Data to a File
- Truncating a File
- iPad iOS 4 SDK Directory Handling and File I/O – A Worked Example
- Data Persistence on the iPad using Archiving with iOS 4
- iOS 4 iPad Database Implementation using SQLite
- What is SQLite?
- Structured Query Language (SQL)
- Trying SQLite on MacOS X
- Preparing an iPad 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 iPad Application
- About the Example SQLite iPad 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 iPad 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 Overview of iOS 4 iPad Multitouch, Taps and Gestures
- An Example iOS 4 iPad Touch, Multitouch and Tap Application
- The Example iOS iPad Tap and Touch Application
- Creating the Example iPad 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
- Getting the Coordinates of a Touch
- Building and Running the Touch Example Application
- Detecting iOS 4 iPad Touch Screen Gesture Motions
- Identifying iPad Gestures using iOS 4 Gesture Recognizers
- The UIGestureRecognizer Class
- Recognizer Action Messages
- Discrete and Continuous Gestures
- Obtaining Data from an iPad Gesture
- Recognizing Tap Gestures
- Recognizing Pinch Gestures
- Detecting Rotation Gestures
- Recognizing Pan and Dragging Gestures
- Recognizing Swipe Gestures
- Recognizing Long Touch (Touch and Hold) Gestures
- An iPad iOS 4 Gesture Recognition Tutorial
- Basic iPad Animation using Core Animation
- Drawing iOS 4 iPad 2D Graphics with Quartz
- An iOS 4 iPad Graphics Drawing Tutorial using Quartz 2D
- The iPad 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
- An iPad Core Animation Tutorial
- Integrating iAds into an iOS 4 iPad App
- Making Money from an iPad Application
- iOS iPad Advertising Options
- iAds Advertisement Formats
- Basic Rules for the Display of iAds
- Creating an Example iAds iPad Application
- Adding the iAds Framework to the Xcode Project
- Configuring the View Controller
- Designing the User Interface
- Creating the Banner Ad
- Displaying the Ad
- Changing Ad Format during Device Rotation
- Implementing the Delegate Methods
- bannerViewActionShouldBegin
- bannerViewActionDidFinish
- bannerView:didFailToReceiveAdWithError
- An Overview of iOS 4 iPad Multitasking
- Scheduling iOS 4 iPad Local Notifications
- Getting iPad Location Information using the iOS 4 Core Location Framework
- An Example iOS 4 iPad Location Application
- Creating the Example iOS iPad Location Project
- Adding the Core Location Framework to the Project
- Configuring the View Controller
- Designing the User Interface
- Creating the CLLocationManager Object
- Implementing the Action Method
- Implementing the Application Delegate Methods
- Releasing Memory
- Building and Running the iPad Location Application
- Working with Maps on the iPad with MapKit and the MKMapView Class
- About the MapKit Framework
- Understanding Map Regions
- About the iPad MKMapView Tutorial
- Creating the iPad Map Tutorial
- Adding the MapKit Framework to the Xcode Project
- Declaring an Outlet for the MapView
- Creating the MKMapView and Connecting the Outlet
- Adding the Navigation Controller
- Changing the MapView Region
- Changing the Map Type
- Testing the iPad MapView Application
- Updating the Map View based on User Movement
- Adding Basic Annotations to a Map View
- Accessing the iPad Camera and Photo Library
- An Example iOS 4 iPad Camera and UIImagePickerController Application
- An Overview of the Application
- Creating the Camera Project
- Adding Framework Support
- Configuring Protocols, Outlets and Actions
- Designing the User Interface
- Adding Buttons to the Toolbar
- Implementing the Camera Action Method
- Implementing the useCameraRoll Method
- Writing the Delegate Methods
- Releasing Memory
- Building and Running the Application
- Video Playback from within an iOS 4 iPad Application
- An Overview of the MPMoviePlayerController Class
- Supported Video Formats
- The iPad Movie Player Example Application
- Adding the MediaPlayer Framework to the Project
- Declaring the Action Method
- Designing the User Interface
- Adding the Video File to the Project Resources
- Implementing the Action Method
- The Target-Action Notification Method
- Build and Run the Application
- Accessing a Network based Video File
- Playing Audio on an iPad using AVAudioPlayer
- Supported Audio Formats
- Receiving Playback Notifications
- Controlling and Monitoring Playback
- Creating the iPad Audio Example Application
- Adding the AVFoundation Framework
- Adding an Audio File to the Project Resources
- Creating Actions and Outlets
- Implementing the Action Methods
- Updating the Playback Time
- Creating Initializing the AVAudioPlayer Object
- Implementing the AVAudioPlayerDelegate Protocol Methods
- Designing the User Interface
- Releasing Memory
- Building and Running the Application
- Recording Audio on an iPad with AVAudioRecorder