A few years ago I wrote a few small apps for OS X so I had some working familiarity with Objective-C but it was quite rusty. I turned to Cocoa Programming for OS X by Aaron Hillegass to shake off some of that rust. Enough language fundamentals are presented in the book to be quite useful for iPhone development as well.
I flipped through every iPhone dev book on the shelf at Barnes & Noble and Borders, checked out every book preview that I could get my hands on. One of them stood out for its clarity when I was still trying to figure out where to start. iPhone Application Development For Dummies. The book shows you around the various iPhone projects in Xcode, shows how to put a couple of apps together, walks you through the steps of provisioning your device, and gives you pointers to further exploration. No deep concepts here but it really helped me get started. I felt as if I was spinning my wheels till I purchased this title.
Once I had the basics under my belt I began to look for code examples and snippets in earnest. The sample projects at the Apple iPhone Dev Center are outstanding but sometimes it’s hard know exactly where to look for a particular concept. So I turned to the iPhone Developer’s Cookbook. While I don’t think that the book is spectacular I did find myself referencing it again and again. Most often I’d get enough out of the cookbook to continue smarter searching on Google. This leads me to the next group of books.
Initially, I figured that I was going to persist application data as a plist file using Cocoa convenience methods to do the work. I took a step back, peered over the horizon and saw Core Data. I knew that if I wanted to build professional chops I should learn it. So, I scrapped my data model class and jumped in.
Searching online wasn’t much help until I found a thread on a forum where someone asked about books. (Boy, I wish I remember the thread so I could give credit now.) The guru in the thread linked two books. iPhone SDK Development and Core Data: Apple’s API for Persisting Data on Mac OS X, both from the Pragmatic Bookshelf. I had seen both of them at a local Borders so off I went.
To be honest, earlier in my book finding foray I intentionally skipped over both titles even though I’ve put the Pragmatic Rails books to great use. When I first saw iPhone SDK Development it looked like it was for folks doing 70 MPH when I was grinding the transmission getting into first gear. I blew off the Pragmatic Core Data book because I thought it was for just the desktop. Teaches me not to look closer. These two titles were absolutely invaluable in getting Core Data into my first iPhone app. They explain the entire Core Data stack, how and why.
So, hopefully this list can be of some use to someone else working to get their first app out the door.