30 December 2009

Getting Started with iPhone

Getting Started with iPhone


The Basics

Learn the basics about iPhone OS development by reading the following Getting Started documents:

Next Steps

Read the following documents in the early stages of your product development. They contain detailed information essential to all iPhone OS developers.

  • iPhone Development Guide describes the process for setting up your computer and iPhone OS–based devices to support iPhone development.
    • Phone OS Technology Overview introduces iPhone OS and its technologies.
    • iPhone Application Programming Guide describes the architecture of an iPhone application and shows the key customization points in UIKit and other key system frameworks.
    • Cocoa Fundamentals Guide introduces the basic concepts, terminology, architectures, and design patterns of the Cocoa frameworks and development environment.
    • The Objective-C Programming Language introduces object-oriented programming and describes the main programming language used for iPhone development
    • Dashcode User Guide, which describes how to create webpages optimized for Safari on iPhone. These web applications make use of web technologies such as HTML, CSS, and JavaScript.
  • iPhone Application Programming Guide describes the fundamental structure and features of an iPhone application and shows you how to implement those features in your own projects.

The following documents provide important information that all developers should read prior to developing applications for iPhone OS:

  • Your First iPhone Application steps you through the creation of a simple iPhone application, explaining the tools and techniques you use for iPhone development along the way.
  • iPhone Human Interface Guidelines provides guidance for designing a user interface that is appropriate for the iPhone OS platform.
    • To learn how to code your iPhone application, read: iPhone Application Programming Guide
    • To learn about designing a web application for iPhone OS–based devices, read: iPhone Human Interface Guidelines for Web Applications
  • Cocoa Fundamentals Guide provides detailed information about the programming conventions and design methodologies used to create iPhone applications.
    • The Objective-C Programming Language describes the Objective-C programming language and runtime environment.
    • Model Object Implementation Guide discusses basic issues of subclass design and implementation,
    • Developing Cocoa Objective-C Applications: A Tutorial shows you how to build a simple Cocoa application for Mac OS X using the Xcode development environment, the Cocoa frameworks, and Objective-C. Your First iPhone Application is a tutorial that guides you through the creation of a simple iPhone application, showing you along the way the basics of the Xcode development environment, Objective-C, and the Cocoa frameworks.
    • iPhone Application Programming Guide presents much information specific to the frameworks used to develop applications for devices running iPhone OS.
  • The Objective-C Programming Language provides a more complete guide to the Objective-C language and runtime.
    • If you have never used object-oriented programming to create applications before, you should read Object-Oriented Programming with Objective-C. You should also consider reading it if you have used other object-oriented development environments such as C++ and Java, since those have many different expectations and conventions from Objective-C. Object-Oriented Programming with Objective-C is designed to help you become familiar with object-oriented development from the perspective of an Objective-C developer. It spells out some of the implications of object-oriented design and gives you a flavor of what writing an object-oriented program is really like.
    • Runtime
    • Objective-C Runtime Programming Guide describes aspects of the Objective-C runtime and how you can use it.
    • Objective-C Runtime Reference describes the data structures and functions of the Objective-C runtime support library. Your programs can use these interfaces to interact with the Objective-C runtime system. For example, you can add classes or methods, or obtain a list of all class definitions for loaded classes.
    • Objective-C Release Notes describes some of the changes in the Objective-C runtime in the latest release of Mac OS X.
    • Memory Management
    • Objective-C supports two environments for memory management: automatic garbage collection and reference counting:
    • Garbage Collection Programming Guide describes the garbage collection system used by Cocoa. (Not available on iPhone—you cannot access this document through the iPhone Dev Center.)
    • Memory Management Programming Guide for Cocoa describes the reference counting system used by Cocoa.

  • iPhone OS Technology Overview describes the high-level architecture and technologies available in iPhone OS for those wanting an overview of the system.
    • Cocoa Fundamentals Guide provides fundamental information about the design patterns and practices used to develop iPhone applications.
    • iPhone Application Programming Guide provides an architectural overview of iPhone applications along with practical guidance on how to create them.
    • iPhone Human Interface Guidelines provides guidance and important information about how to design your iPhone application’s user interface.
    • iPhone Development Guide provides important information about the iPhone 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 iPhone OS.

As you navigate deeper into the iPhone Reference Library, there are additional Getting Started documents to assist you with finding the information you need.

29 December 2009

iPhone OS Reference Library


[Getting Started]

Learn the basics about iPhone OS development by reading these Getting Started documents.

[Required Readings]

Further your iPhone OS development skills by reading these essential documents.

Introduces the development process for iPhone applications and describes the core architecture.
Describes how to build, run, debug, and tune your applications on both the simulator and devices.
Provides user interface rules that must be followed to distribute an iPhone application.