Beginning iPhone Development: Exploring the iPhone SDK

  • Apress Beginning iPhone Development: Exporing the iPhone SDK
  • Are you a programmer looking for a new challenge? Does the thought of building your very own iPhone app make your heart race and your pulse quicken? If so, then Beginning iPhone Development is just the book for you.

Product Description
Please note that there is now an iPhone 3 edition of this title available! Are you a programmer looking for a new challenge? Does the thought of building your very own iPhone app make your heart race and your pulse quicken? If so, then Beginning iPhone Development is just the book for you. Assuming only a minimal working knowledge of Objective-C, and written in a friendly, easy-to-follow style, Beginning iPhone Development offers a complete so… More >>

Beginning iPhone Development: Exploring the iPhone SDK


  1. I have some very mixed feelings about this book. Let’s start on a positive note. First of all, it is VERY well written. the authors don’t just walk you through the answers they present in their projects, but also awaken your curiosity and walk you through the trial and error process that leads to their answer. some people say that this makes the book longer than necessary. i say that this makes them great teachers, since they know how to engage their readers and get you to understand not just what their solutions do, but why they have been implemented a certain way. my only qualm about their writing is that they spend a bit too much time explaining what they have done in the past and what they are going to do in the future instead of focusing on the lesson at hand.

    I also got a lot of mileage out of the projects / code included in the book, especially the chapters on setting up your first two applications and the chapter on persistence.

    Unfortunately, though, after reading this book it turns out i was not ready to make iPhone applications. i still ended up reading exorbitant amounts of documentation from apple to troubleshoot my code and do some very ordinary things. i found that apple’s iPhone Application Development guide and Cocoa Fundamentals Guide had much more relevant data for learning how to make an iPhone application and are a better way to get started. i especially found that i needed to understand a lot more about how how my development environment manages resources, how events are handled and passed around (especially with regard to when to use actions vs delegates vs notifications and details on how these mechanisms work), memory management details, how an iPhone application works under the hood, how to interface between different languages and libraries, etc, etc.

    The material in this book is great, but in the end, i would say that apple’s introductory guides are what you need to get started, and this is just a supplement to them.
    Rating: 3 / 5

  2. NOTE: I will be updating this review once I am done reading the new SDK 3 updated book. The review below is for the original SDK version of the book. I thank the author for personally responding to my review in the comments, and will make adjustments to this review after I read the updated book. I feel that some of his points are fair, but still arguable, as to what should and should not be included in the book.

    I, like many others, bought this book simply because there really aren’t any other iPhone SDK books on the market right now. It’s a decent first book, but as someone who has programmed on the iPhone previous to reading this, I found some issues with it.

    I DO recommend this book so far, as it really is the only one out there, and it does cover a lot of ground, but I feel that there will be much better books to come. I’d love to see a 2nd Edition of this.


    – Current to iPhone 2.1

    – Current to Objective-C 2.0

    – Covers a wide area, such as Accelerometer, Swipes and Touches, Data Storage, Drawing, etc.

    – Easy to read.


    – The author fails to show some useful shortcuts, such as putting all objects that need to be synthesized on one line: “@synthesize txtName, lblFileName, myViewController”

    – They also seem to skip over some very basic areas, such as what do all the iPhone pre-built templates do? Instead, they say “Apple provides this for you, but we are going to build from the ground up”. That is great, but ALSO cover the easier way and explain some differences between the easy/hard ways.

    – They don’t go deep enough into using and understand views. Sure, they go into navigation controller, tab bars, etc. but they don’t explain enough on just basic view manipulation. The example of switching between two different colored views doesn’t cover enough ground for something so important on the iPhone.

    – I would have liked to see an “Advanced topics” as a final chapter. For example, how do I combine both a Tab Bar and a Navigation controller? Applications that are more than just very basic need a section going into some deeper topics. I do understand that this is a beginners book though.

    – Skips over explaining basic concepts, such as what does “scalar” mean, how to view SDK headers to find methods (besides the documentation), and how you can right-click on an object in Interface Builder to bring up the connections pop-up.

    Good book though 3.5 stars. Recommend it for beginners until a better book comes along.
    Rating: 3 / 5

  3. When this book arrived, and I saw the book cover, I knew I got something different. Not a cookie-cutter book but an original piece of work where somebody really intended to teach something.

    I just got this book a few days ago and with this 4-day Thanksgiving weekend and living alone I have been having a blast focusing just on this book. I haven’t read through it all yet, still just a quarter of the way through, but I’m not trying to cram. This book does exactly what I want a book to do (as opposed to an online reference resource): stop and talk about every little thing that is really useful to know in the workflow of applications programming on an iPhone.

    These guys know how to write. They don’t leave the reader with presumptuous word choice and leave the reader hanging; every time they say something it’s like they read the mind of the reader, “Now you might be wondering, what about… or why not do … Well, let’s talk about that.” Nearly every corner is covered, and where I still have questions it’s usually not directly related to the topic, i.e. I have an Obj-C question. Even then, after I return from surfing the web for answers, I return to the book and turn the page and the book says, “You should read up on this stuff at [URL]”… I kid you not, this book had me floored.

    Looking towards the latter pages of the book, I can’t help but be astounded, thinking, wow, I get to learn about THAT? And in the same style of learning that I’ve been enjoying so far? This is great!

    There are very few errors, mostly just little things that the reader can spot just by paying attention. There are plenty of enough illustrations and tips to keep the reader engaged and constantly learning not just the basics but how to get comfortable in the workflow of iPhone development.

    My only disappointment is that the book assumes knowledge of Obj-C, but fortunately it comes with plenty of URLs and references to complete those prerequisites as well, and really, to discuss Obj-C in detail, beyond the rather brief coverage-as-we-go that is indeed in this book, would have been beyond the scope of the book so that’s fine.

    There’s just nothing I can say bad about this book, and everything good. It is by far the funnest technical book I’ve owned and cracked open in months, if not years.

    By the way, coming from a C# background (and Java and VB5/6 before that), lightweight programming of the iPhone is EASY!! It’s different, but it’s easy, particularly compared to C++ programming which I’ve had a number of false starts. For me, if I can go from VBScript to VB6 to Java to C#, I can go from C# to Obj-C. Also, the workflow of Xcode + Interface Builder is somewhat analogous to the workflow of Visual Studio + Expression Blend 2 for WPF programming, if indeed event handlers would have been set up in the Blend designer in a drag-and-drop way. I must also add, learning how to develop software in Xcode forces the developer to learn MVC. I don’t know why people who are used to Visual Studio programming dislike the MVC-ness of Xcode programming, but I love the change of workflow, and I think there is much to take back with me when I return to C# development.
    Rating: 5 / 5

  4. This book is one of the best programming books ever written!!!!! Want to know how good this book is? Over the holidays, my 12 year old was begging me to help him learn iPhone programming since he saw me release my first few apps and make a few dollars on it. He has never done any programming before. I told him to first read the first 100 pages of Programming in Objective-C by Stephen Kochan so he understood the basics of programming and then I gave him this book to learn about programming the iPhone. By the end of the weekend, he had written his first basic iPhone app. I was so amazed I am now going through the book page by page myself, and this 25 year veteran of computer programming is also learning a lot. It’s hard to teach an old dog new tricks, and the switch from someone used to doing strictly procedural assembly language and C programming to something like the iPhone is tough, but this book has shed a whole new light on how to program for the iPhone. Simply put, it’s fantastic.
    Rating: 5 / 5

  5. In keeping with Dave Mark’s excellent track record for introductory Mac development books (referring to his Learn C on the Mac classic) and Jeff LaMarche’s obvious talents, this book is THE book for those new (and really, who isn’t?) to iPhone Development.

    I’ll start by saying that relative to the Apple samples, the authors are heavily into Interface Builder usage, which is good to force separation of your Views from your Controller logic, but a challenge when you fumble hooking up an outlet and things don’t work as you expect. Understanding how IB outlets & actions interact with source code is different than other programming most of us not from a NextStep heritage are used to. That is to say, for most programmers, debugging and changing behavior in source code is a much more familiar method to follow than trying to fix a NIB file. Not necessarily a better one mind you, but a significantly different one that’ll take some getting used to.

    That said, from my own brief experience, it seems starting off with a strong fundamental understanding of Apple-flavored MVC from this book, enforced via Interface Builder views and managed via controller source code, is preferable to trying to structure it correctly just in source code (as Apple usually shows it).

    With respect to IB, the authors do a great job covering the common mistakes we all make and what you should do to resolve them (i.e. in Chap 6 they mention that if you don’t see the proper action popup, you probably control-dragged from the wrong IB component. Nice touch.)

    A minor nit, when I read the chapter on autorotation, I didn’t find mention of the very handy “autoresizingMask” property of a view (UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth), which handles the changing sizes of a view for you. They mention it in passing, but it’s such a nicely done feature that more people should use, it might deserve a project sample. Bonus: they explain why Apple discourages use of the “upside-down portrait” mode, which is good to know.

    The authors wisely emphasize the importance of TableViews, which are so central to so many iPhone app interfaces for a reason. I’ve skimmed those chapters (8 & 9) and they’re the best available anywhere on explaining tables and how they interact with Navigation Controllers and subviews. I’m really looking forward to digging into them. My initial concerns that like a compelling preview to a bad movie (I’m looking at you Zohan) I was worried that Chapter 3 [which Apress has available on their website, google for it if you’re looking for a representative sample] would be the best in the book. Chapters 6-9 put those fears to rest.

    The remaining chapter coverage is conducive to arming you with the basics to create a solid, stable, fully-featured iPhone/iPod Touch application that combined with your own creativity and hard-work, you’d be proud to display in the App Store.

    So, in sum, this is the book to get right now if you’re just starting out on developing Cocoa Touch apps. Even after I’ve learned the basics, I can see myself referring back to this book for refreshers. Thanks Dave & Jeff!
    Rating: 5 / 5

Leave a comment