iPhone Development Books
Sorry for being so quiet on the website lately. I've spent the last several weeks working like a maniac on a little iPhone app. It's coming along nicely and hopefully will be up for sale in the AppStore soon. As I've been working on this app, I've come across a bunch of books that have been a big help in developing iPhone apps, so I thought I'd share them.
The iPhone Developer's Cookbook by Erica Sadun
This was the first iPhone programming book that I bought. It was also the first iPhone programming book available after the NDA was finally lifted. While I did enjoy this book and it was full of lots of useful 'recipes' on how to do things using the iPhone SDK, I can't really recommend it, at least not as a first book on iPhone programming. Mrs. Sadun spends a lot of time talking about how to do things with the unpublished and unapproved APIs in the iPhone SDK. Use of these APIs can get your application refused for acceptance into the AppStore. She does make it clear that this could happen, but I find her heavy use of these 'illegal' APIs a bit concerning. Despite my misgivings about this, it is a VERY interesting book from a hacking point of view. It's very interesting to read some of her tips on how to explore the inner workings of the API. I'd suggest this book for the more advanced programmers out there who are interested in the hacking side of things more than just learning the basics of how to write iPhone applications.
Beginning iPhone Development by Dave Mark and Jeff LaMarche
This is the best book I've read so far on programing with the iPhone SDK. I would suggest this book as a good introduction to buy as an introduction to writing iPhone applications. It does a good job of covering all the basics areas you would need to know, including view controllers, using the GPS, using the camera, etc. An excellent book.
iPhone SDK Application Development by Jonathan Zdziarski.
I just started reading this book. It looks like it covers all the important areas of the iPhone SDK. It also covers a few areas that the previous book doesn't, such as layers, network programming and audio. I'd suggest this as the second book to read after the above 'Beginning iPhone Development'.
Programming in Objective-C 2.0 (2nd Edition) by Stephen G. Kochan
This is the only book of the bunch that I don't actually own. However, I have looked over the book and I can certainly recommend it as a good introduction to the Objective-C 2.0 language, which you use to write iPhone applications. The only reason I didn't buy it was that by the time this book came out, I had already learned enough about Objective-C 2.0 that i didn't really need the book. But if you are a beginner at Objective-C, this book will prove very useful. Note that since this book convers Objective-C 2.0 in general, it is also useful to read if you plan on writing applications for the Mac itself. The Mac (as of Leopard) uses the same Objective-C 2.0 language that the iPhone does.
Cocoa(R) Programming for Mac(R) OS X (3rd Edition) by Aaron Hillegass
While this book isn't technically about programming for the iPhone specifically, it is still very useful to read. This book is the 'Bible' of Mac programming. If you want to write a Mac application, this is the first book you should buy. The reason I recommend this book for learning the iPhone is that it covers a lot of the areas related to graphically designing user interfaces. These same techniques are used to design both Mac and iPhone applications, so learning them will still be quite useful.
Xcode 3 Unleashed by Fritz Anderson
While this book doesn't cover the iPhone SDK directly, it does cover the XCode development environment that you use to write iPhone applications with. As such, this book will help you learn how to use the tools at your disposal in order to write iPhone applications. It also contains an excellent section on setting up source control for your development projects in XCode. If you are going any form of development, it is critical that you use source control. This section alone is worth the cost of the book.