In this 2nd part, lets take a look at what is needed to develop for one of the hottest mobile platforms today. The iPhone.
What do you need to start developing native iPhone applications? Well, there are a few things. let’s take at the basics.
Step No. 1
Register in Apple’s iPhone developer program.
Step No. 2
An Intel-based Mac running Leopard (OS X 10.5.3 or later). Any Mac released since 2006, laptop or desktop, should work. Borrow one or better,buy one!
Step No. 3
Download and Install the iPhone App SDK
Step No. 4
Object Oriented Programming, Objective C and Cocoa Touch
However, those are the utmost basic requirements. You need to equip yourself with more knowledge about the iPhone App universe to get going :
In this 2nd part, lets take a look at what is needed to develop for one of the hottest mobile platforms today. The iPhone.
What do you need to start developing native iPhone applications? Well, there are a few things. let’s take at the basics.
Step No. 1
Register in Apple’s iPhone developer program.
Step No. 2
An Intel-based Mac running Leopard (OS X 10.5.3 or later). Any Mac released since 2006, laptop or desktop, should work. Borrow one or better,buy one!
Step No. 3
Download and Install the iPhone App SDK
Step No. 4
Object Oriented Programming, Objective C and Cocoa Touch
However, those are the utmost basic requirements. You need to equip yourself with more knowledge about the iPhone App universe to get going :
Useful External Documents/Sites: Outside of the iPhone Dev Center, I found the following useful:
CocoaDev: A fantastic wiki site for MAC OS X Cocoa developers.
From C++ to Objective C: [pdf] While I never learned C++, as a C programmer this document at least spoke my language and helped me translate much of what I learned in the world of C to the world of Objective-C.
Objective-C Resource Center: This site contains links to useful Objective C FAQs, tutorials, etc. However, these are of limited use since they all pertain to generic Objective-C and not to Apple’s proprietary version of Objective-C framework, namely Cocoa.

- xCode: To apply all the Objective C and Cocoa goodness I’ve been learning, Apple provides a fantastic development tool – xCode. xCode is a multi-facetted development tool used to develop both Mac and iPhone applications. If there is anything that will delight you in the iPhone App development process its xCode. It just does what you want a development environment to do. So many of the menial tasks of the past are handled effortlessly for you. For details see the xCode Workspace Guide.

- Interface Builder: Interface Builder (pictured above) is the part of xCode that you use to develop the visual/graphical interface to iPhone Apps – what you see and manipulate on the iPhone as you use iPhone Apps. The video version of the ‘Cocoa is my Girlfriend’ tutorial below was helpful as was this part of the more generic Intro to Cocoa Application Tutorial. The Interface Builder user guide is here (again, available only to those who have registered).

- iPhone Simulator: One of the last pieces of the iPhone App development puzzle (before you start testing on an actual device that is) is the iPhone Simulator (pictured above). At any time during the development process you can build and test a version of your iPhone App and run it in the iPhone Simulator. It’s pretty nifty and easy to use.
- Online Tutorials: There are several online tutorials that hold your hand, step by step, through basic iPhone application development:
- Your First iPhone Application (Apple’s introductory tutorial). This includes a terrific step-by-step description of the basic bootstrap process.Note: You will need to be logged into the iPhone Development Center to access this.
- icodeblog Tutorials: A computer science student named Brandon at the University of New Mexico has been posting useful iPhone App development tutorials on his icodeblog blog. His forum allows would-be iPhone developers to discuss his tutorials and learn from each other. His tutorials have been invaluable to my learning process.
- Cocoa Touch Tutorial: iPhone Application Example – [video version] (Cocoa is my Girlfriend);