Learning to build iPhone apps
Posted on 29. Jan, 2009 by andy in iPhone Development
I have been programming with Cocoa and Objective-C for about three or four years now. Never did I consider myself beyond a novice. I just loved the idea of making applications for my beloved Macintosh. A few friends of mine (Dave and Eric) were really into making Mac apps too. Nothing ever materialized, but I learned a lot and had great fun building Mac apps.
Fast forward to last March of 2008. I like so many others, anxiously awaited the release of the public iPhone SDK. I was excited to see what it was all about and proceeded to download the SDK and XCode. Once I bought my first iPhone in July interested hit a all time high… I had to know more.
Through the course of the fall and winter months I dug into a lot code, downloaded thousands of apps (well not that many, but it sure seems like it), read a lot of documentation, designs, … the list goes on.
I have had a lot questions about how to get started in iPhone/iPod development. Well here are all the resources I have (or more importantly still use) to get my way around.
Pre-requisite!!
Get yourself/company/organization into the iPhone developer program. You can’t put applications on your iPhone/iPod(touch) until you have one. For an individual it’s $99 and doesn’t take much time anymore (it used to take weeks sometimes for apple to get through the list of people wanting in).
Books
Begining iPhone Development: Exploring the iPhone SDK. This book has been amazing and I can’t stress it more, buy it!
It does a great job talking to you like you are a human being. So many programming or technical books talk to developers like they are robots. Anyway, each chapter does a great job illustrating what you need to do in Interface Builder, explains the changes in code, gives you good tips, and just builds all the major skills you’ll need for any application feature. Read through it and work the examples, it’ll pay off in the long run. After that the code produced (or downloaded) is great for referencing later when you get stuck.

The iPhone Developer’s Cookbook: Building Applications with the iPhone SDK.
This was the first book I bought and is the perfect companion to the Begining iPhone Development book.
Erica Sadun (the author) does a great job showing how to write the code. This book doesn’t use Interface Builder to show you how to build forms, etc. The code is there to show you how it’s done. To make code reading easier, everything is put in the main.m file. That is bad in practice (object man!!!) it is easier to learn when everything is in front of you in one file. Seeing all the code (objective-c) is a great way to learn more about how the framework works. Also, this book does the best job walking through so many ways to use the TableView (which is one of the most important aspects to iPhone development). I find myself grabbing this often to reference parts of the SDK.
Also good to have’s -
-
Programming in Objective-C 2.0 (2nd Edition) - This was just released and is the best refernce for the Objective-C language. The new edition goes into everything from how it is similar to C to NSLog. It’s good stuff.
-
Cocoa(R) Programming for Mac(R) OS X (3rd Edition) - The best way to learn how to program on the Mac. While this is not directly related to iPhone development, this will show you all the other things Cocoa can do. Not only that, if you know how to do iPhone development you may as well learn Mac development too.
- Learn Objective-C on the Mac – Less of a reference to the Objective-C language and more of a Objective-C 101 book. It also does a good job going into XCode and the framework in general. I’d say it’s a good companion to the Beginning iPhone Development book. But if you had to pick – get Programming in Objective-C 2.0.
Apple Documentation
If you can’t afford the books (stupid economic downturn) or are too cheap (shame on you, they worked hard to make good books for the curious) then Apple Documentation is a good start. It’s not for the faint of heart. It will leave many people saying, where do I start? I know I thought the same thing. So here are few good articles to start with…
- Creating an iPhone application
- Learning Objective-C: a primer – get the basics on Objective-C
- iPhone Application Programming Guide
- iPhone Human Interface Guidelines – AN ABSOLUTE MUST READ!!
- … one more – iPhone Development Guide
Websites
Many other platforms and languages have a large amount of websites to help development move along. For iPhone and Mac development, the community (mainly blog community) is left with many holes. So many developers find themselves in forums asking for help. But that doesn’t mean there isn’t a dzone.com for iPhone/Mac, good blogs, etc out there. Here a few that I follow…
- MobileOrchard.com – a great up-to-date resource of all things iPhone and other mobile devices.
- PlanetCocoa.org – a great blog aggregator for all things Cocoa. Lots of devleopment information flows throw here.
- iPhoneAtlas.com – a news site. it’s okay. it’s cnet.
- Reddit.com [cocoa] – reddit section for Cocoa/Cocoa-touch news. Lots of development news here.
- CocoaBlogs.com – a collection of good Cocoa Blogs. (maybe soon Ninth Division will be there.)
Videos/Screencasts/Podcasts
- CocoaCast – www.cocoastcast.com
- iPhone Development Central – www.iphonedevcentral.org - lots of videos here, some are outdated though.
- Youtube and search: cocoa, cocoa-touch, objective-c, xcode, iphone development. there some decent ones out there (like this gary guy – http://www.youtube.com/user/garywbennett).
- MobileOrchard: iPhone Developers Podcast
- Writing your first iPhone Application – Screencast from the Pragmatic Press, done in good quality.
Well there you have it. Enough resources to get anyone started. Now get out there and build something! Even if it is just to say you can!
(have any other suggestions, please post them in the comments. i am always looking for more places to go for iphone mac development goodness and so is everyone else.)


Hey Andy, great article. I’m a newbie to the Apple platform so articles like this will undoubtedly help kick start me into developing iPhone applications!
Thanks!
Steven
Great post! Linking to the relevant posts in the Apple documentation is a good idea. It can be so confusing and overwhelming attempting to just jump into their development website without a map.
Good list – I’m pretty close to submitting my first app to the store and some of these are new resources to me but most of them I’ve been to/read.
I spent a lot of the first month just reading, the second and third months coding and while it seems impossible at first its definitely a do-able process. I’ve never developed anything before and I’m pretty sure the iPhone isn’t the best place to start, but its a lot easier to learn if you have a goal in mind.
Anyway good list. Don’t forget the best resource of all – Google and another one that’s proving to be quite handy is http://www.iphonekicks.com/
The “Beginning iPhone Development” book from Apress has been an awesome book for me learning. I tried the beta PDF from the pragprogs, which is not bad, but not as good as the Apress book.