To develop applications for iPhone and iPod Touch, first of all you will need a Mac OS X computer running the Xcode tools. Xcode is Apple’s suite of development tools that provide support for project management, code editing, building executables, source-level debugging, source-code repository management, performance tuning, and much more.
The center of your development experiences is the Xcode application. Xcode is an integrated development environment (IDE) that provides all of the tools you need to create and manage your iPhone projects and source files, build your code into an executable, and run and debug your code either in iPhone simulator or on a device.
The iPhone Dev Center is Apple’s portal page for iPhone development.
Once you have Mac up and running, you need to go to http://developer.apple.com/iphone/, create a login, and download the iPhone SDK on to your Mac. Here, you can download and find tutorial videos, documentation and everything you need for iPhone application develop. See http://www.iphonedevcentral.org/.
The iPhone SDK contains the code, information, and tools you need to develop, test, run, debug, and tune applications for the iPhone OS. The Xcode tools have been updated to support development for the iPhone OS. In addition to providing the basic editing, compilation, and debugging environment for your code, Xcode also provides the launching point for testing your applications on an iPhone or iPod touch device. Xcode also lets you run applications in iPhone simulator, a platform that mimics the basic iPhone OS environment on your local Mac computer.
The de facto standard for programming for the iPhone is Objective-C. The Objective-C language is a simple computer language designed to enable sophisticated object-oriented programming. Objective-C extends the standard ANSI C language by providing syntax for defining classes, methods, and properties, as well as other constructs that promote dynamic extension of classes. The use of objects and object-oriented constructs is fundamental to the design of iPhone applications, and understanding how they interact is critical to creating your applications.
If you are completely new to iPhone OS and to Mac OS X, taking the time to understand the basic design patterns and conventions of iPhone OS is critical to writing code for the platform. Applications operate best in iPhone OS when they take advantage of the power the frameworks provide. If you spend time trying to work around the basic framework behaviors, you may find creating your application much more difficult than simply learning the basic design patterns in use.
The basic information that every iPhone developer needs to know is in Cocoa Fundamentals Guide. This document covers the basics of the Objective-C language and the programming conventions and design patterns used by UIKit and many other system frameworks.
Once you understand the basic conventions you use to create iPhone applications, you can refer to iPhone Application Programming Guide for specific details on the development process. This book provides key conceptual and task-based information on how to write iPhone applications, including examples of how to display a user interface, handle events, and take advantage of key iPhone OS features. It also describes the overall development process and explains how you use Xcode to build and run your applications.