iOS is the operating system at the heart of iPhone, iPod touch, and iPad devices.
The iOS platform was built using the knowledge that went into the creation of Mac OS X, and many of the tools and technologies used for development on the platform have their roots in Mac OS X as well. Despite its similarities to Mac OS X, you do not need to be an experienced Mac OS X developer to write applications for iOS. The iPhone Software Development Kit (SDK) provides everything you need to get started creating iOS applications.
iOS Technology Overview is an introductory guide for anyone who is new to the iOS platform. It provides an overview of the technologies and tools that have an impact on the development process and provides links to relevant documents and other sources of information. You should use this document to do the following:
Orient yourself to the iOS platform.
Learn about iOS software technologies, why you might want to use them, and when.
Learn about development opportunities for the platform.
Get tips and guidelines on how to move to iOS from other platforms.
Find key documents relating to the technologies you are interested in.
This document does not provide information about user-level system features or about features that have no impact on the software development process.
New developers should find this document useful for getting familiar with iOS. Experienced developers can use it as a road map for exploring specific technologies and development techniques.
This document has the following chapters and appendixes:
“About iOS Development” provides a high level overview of iOS and developing applications for it using the iPhone SDK.
“Cocoa Touch Layer” provides a look at the Cocoa Touch layer in iOS and the features it provides to your applications.
“Media Layer” provides a look at the Media layer in iOS and the features it provides to your applications.
“Core Services Layer” provides a look at the Core Services layer in iOS and the features it provides to your applications.
“Core OS Layer” provides a look at the Core OS layer in iOS and the features it provides to your applications.
“Migrating from Cocoa” provides starter advice for developers who are migrating an existing Cocoa application to iOS.
“iOS Frameworks” describes the frameworks you can use to develop your software. Use this information to find specific technologies or to find when a given framework was introduced to iOS.
“iOS Developer Tools” provides an overview of the available applications you can use to create software for iOS.
The iPhone SDK contains the tools needed to design, create, debug, and optimize software for iOS. It also contains header files, sample code, and documentation for the platform’s technologies. You can download the iPhone SDK from the members area of the iPhone Dev Center, which is located at http://developer.apple.com/iphone.
For additional information about the tools available for working with Mac OS X and its technologies, see “iOS Developer Tools.”
If you have feedback about the documentation, you can provide it using the built-in feedback form at the bottom of every page.
If you encounter bugs in Apple software or documentation, you are encouraged to report them to Apple. You can also file enhancement requests to indicate features you would like to see in future revisions of a product or document. To file bugs or enhancement requests, go to the Bug Reporting page of the Apple Developer website:
http://developer.apple.com/bugreporter/
To file bugs, you must be registered as an Apple Developer. You can obtain a login name for free by following the instructions on the Apple Developer Registration page.
The following documents provide key information related to iOS development:
Cocoa Fundamentals Guide provides fundamental information about the design patterns and practices used to develop iOS applications.
iOS Application Programming Guide provides an architectural overview of iOS applications along with practical guidance on how to create them.
iPhone Human Interface Guidelines and iPad Human Interface Guidelines provide guidance and important information about how to design your application’s user interface.
iOS Development Guide provides important information about the iOS development process from the tools perspective. This document covers the configuration of devices and the use of Xcode (and other tools) for building, running, and testing your software.
The Objective-C Programming Language introduces Objective-C and the Objective-C runtime system, which is the basis of much of the dynamic behavior and extensibility of iOS.
Last updated: 2010-07-08