How to Get Started as an iPhone Developer
See the 2010 updated edition of this post.
Reader Benjamin wrote to me tonight and asked:
I have researched some into iPhone programming as I am obsessed with every application that is available for my own iPhone. The problem is that the amount of books and articles out there about programming for an iPhone is enormous. Do you have any recommendations for a few killer books to read in order to learn the process/language?
What a great question. It’s one I’ve been getting a lot from people I know since my apps went on sale.
Thanks to the popularity of the iPhone and the lure of the App Store’s profit potential, there’s plenty of crap floating around promising to teach you how to program for this new platform. Much of it sucks. Thankfully, there’s some gold to be found for iPhone SDK autodidacts. Let’s check it out.
Wikipedia
Say whatever else you want about it, Wikipedia is, unsurprisingly, host to some thorough Computer Science articles. Any time you encounter a term about programming you do not understand, consult Wikipedia. Here are a few examples to get you started:
Model-View-Controller, the design pattern advocated by Apple for iPhone development.
Cocoa Dev Central
An incredible resource, Cocoa Dev Central hosts some excellent tutorials on Cocoa and Objective-C. It’s a great place to get started if you don’t know much and want to learn more.
C Tutorial
If you know nothing about programming, the C Tutorial is a great way to break yourself in gently. You’ll get the basics that will become your best friends throughout your work as programmer.
Objective-C Tutorial
Once you’ve done the C tutorial and you understand why it works, the Objective-C tutorial is a tidy intro to Objective-C, which is the programming language you’ll be using for much of your iPhone development.
Cocoa Programming for Mac OS X
After spending some time doing online tutorials, you’ll want to know whether or not you want to keep doing this. If the answer is yes, Aaron Hillegass’ excellent book is for you. You’ll learn about Objective-C and the Cocoa API. This is all translatable to the iPhone, as the iPhone SDK uses many similar frameworks and conventions in the Cocoa Touch API. About midway through, you’ll start hitting some material on desktop-specific technologies like Core Data. Once you’re at that point, it’s time to move on to…
Beginning iPhone Development
Beginning iPhone Development is accessible and friendly. Assuming you’re comfortable with what you learned in the previous resources, this book is a snap. Helpful, digestible tutorials and plenty of useful code for use in your own applications. This book covers every single thing you’ll need to get most apps up, rolling and submitted to the App Store.
Other Resources
This is by no means an exhaustive or complete list of the great resources out there for iPhone development. This is just what worked for me. Once registered through Apple’s developer program, you’ll also have access to developer forums. That community is indispensable and will help you around countless, seemingly insurmountable blocks.
Bringing it Together
Holy crap, you’re thinking. That’s a lot to read and absorb, Danilo. It is indeed. It takes some time, especially if you’re starting from scratch. Be patient with yourself. This may be the steepest learning curve you’ll ever encounter as an autodidact.
For me, I started Danilo’s Programming School. That was a commitment to myself that for one to two hours every night of the week, I would work through a tutorial or scribble notes from important subjects in previous chapters. After about two months, I hit a point of epiphany and suddenly the code was a breathing, friendly, understandable creature instead of an inscrutable block of text.
This only works if you commit to learning it consistently. It’s quite literally another language and another mode of thinking.
The results, like seeing your first product cough to life after compiling, or customers writing you because they love your work, are incredibly satisfying. If you want to bring a product into the world with your own two hands, nothing is more satisfying right now than building it for the iPhone.

XCool February 16th
Thanks Danilo. That’s a great list of resources. I am currently digesting Beginning iPhone Development and found it to be a great resource!
Add Yours
YOU