Home - Languages & Tools

Product Details

Binding:

Paperback

EAN:

9780321821522

Label:

Addison-Wesley Professional

Feature:
Publisher:

Addison-Wesley Professional

Studio:

Addison-Wesley Professional

Editorial Reviews

In this book, the world's leading Apple platform development trainers offer a complete, practical, hands-on introduction to iPhone and iPad programming. The authors walk through all the Apple tools and technologies needed to build successful iPhone/iPad/iPod touch Apps, including the iOS 5 SDK, the Objective-C language, Xcode 4.2 tools, Foundation framework, and the classes that make up the iPhone UI framework. The many topics covered in this book include: " Easily setting up elegant, efficient user interfaces with UIKit " Creating effective visuals, animation, and effects with Core Graphics, Core Animation, and OpenGL " Making the most of the iPhone's powerful multi-touch event handling " Building location-aware iPhone applications utilizing Core Location, MapKit, and the magnetometer " Localizing applications for international use " Creating applications that capture audio and play media " Storing data in files or SQLite databases This title is a bestselling title in the new Big Nerd Ranch Press series: the world's best books on Mac and iOS development, straight from the world's #1 Mac programming trainers - Aaron Hillegass and Big Nerd Ranch!

Customer Reviews

The first edition of this book was already superb.

One of the very few programming books that are both easy to read, have interesting, fun and useful exercises, and lead one to understand not only the language and frameworks, but also the underlying reasoning and concepts.

Maybe the best programming book I've ever read. I just bought the second edition, even though I don't really need it anymore: I've finished the first book and know how to solve my problems in objective-c, where to find further information, and what questions to ask. But I wanted it as an eBook, I was curious how much has changed, and I wanted to show my gratitude.

If you're wondering whether to buy it as an ebook or on paper, I'd suggest the paper edition. I think it has better layout, and the index is good enough that you don't really need the search feature an ebook provides.

Note: This book is much more suited for working through from the beginning than just looking stuff up. Do yourself a favor, start at the beginning, and do the quick exercises, even if you've already hacked together your first "Hello World" in Objective-C. There is a lot of very useful background information you'd otherwise miss, that will make your life much easier later on.

NOTE: iOS 5 is due to be released in the fall (or so). Some may think they should wait and then get books about iOS 5, because this one might be obsolete by then. Let me tell you, don't bother waiting. All the information in this book is still going to be helpful (even the stuff on retain and release; it's good to know a little background), and this book will prepare you to deal with the new stuff in iOS 5 on your own.

Do yourself a favor and get this book before you burn your fingers on other ones.

(Sorry for my english; I'm not a native speaker)
So far this is what I like:

1. A lot more detail than the previous version, but still straight to the point.
2. It has better figures (e.g.. MVC Pattern, Preprocessing, Redrawing views, Lifecycle of a view controller, etc ).
3. Use of activity and other flow diagrams.
4. Added legend to some of the objects diagrams.
5. The source in-line comments has better detail.
6. Better detail on using Apple's documentation section (pp. 103).
7. XCode 4 updated.
8. includes a handy Xcode Quick Reference Card.
9. The book binding it seems to be stronger (On my previous book, I have to use marine glue to keep it together).
...

Still no OpenGl. But I think this topic will need a book on itself.
I have purchased a many books on iOS programming and can say that this book is the top of the heap. I have both the first and second edition; the expanded coverage in this book places it well above other publications. This book uses the latest development environment Xcode 4 and is allows readers to create complete applications as well as providing explanations of concepts and theory.

Although there are many tutorials available online, these resources provide minimal explanations on how the code actually works. This book provides clear and concise examples and explanations of how the code actually works. It will prepare you to write your own applications.

The authors support their publications by providing forums for readers to ask questions and the authors are actively involved in providing answers. It shows their level of commitment and involvement in helping developers master the content.

I feel I hit the jackpot by reading this book and look forward to other publications by the Big Nerd Ranch.
This relates to the second edition, I bought this book for use with Xcode 4.2. The first example program assumes the project template "windows-based application" which has been removed in Xcode 4.2 so buyer beware you are in for a tough first lesson if you are completely new to iOS development. Hopefully the author will make a revision for this. It is a good book for persons with some programming background and the author does a good job of posting on the book's forum with advice, tips and workarounds to these Xcode 4.2 issues.
This is an excellent book. I unfortunately did not read closely enough, and did not realize it would not cover the upcoming iOS 5 and the 4.2 version of Xcode still in beta. I got an email from Aaron Hillegrass explaining that they cannot because of the NDA. To others that do not read the back cover closely enough and are likely to jump to unfortunately conclusions based on the timing of the release, be warned. It's a pain to follow along based on some changes Apple has made, and some newer topics, like automatic memory management are not addressed (because of the NDA). However, I can't blame the authors for this.

I started with another book, and for me at least this one was much preferable (although the other one is not bad either). They do a good job here of introducing conceptual material alongside the hands-on programming.



I am a Microsoft developer and have never really worked on a Mac, developed for one nor do I own an iPhone or an iPad. I can hear the snickers and the calls to climb out from under my rock already :P

I read this book since I saw it as a challenge to try and learn something that I have heard is relatively difficult to do and not have the ability to try out the hands on coding that I enjoy. Having been the first iOS development book I've ever read I felt Aaron and Joe did a great job of relating concepts and patterns that are applicable across development practices. The diagrams they provided to illustrate their information were well done. The "For the more curious" sections within the chapters provided good additional information for those wanting more details regarding the material pertainent to the chapter.

Aaron and Joe's writing style for this book was very encouraging for a beginning iOS developer. There were a couple of times in the book where it felt that they were right there to pass along their confidence in learning the material. "Take a deep breath and wait it out. We'll get there and so will you" is an example of this to address the frustration that you as a developer will feel starting out developing in something you are new to. I can relate to this very well in watching new developers as they learn their trade.

If I were to start development for the iPhone or iPad I would recommend to have this book as a good starting point. Even without having the ability to try out the code I feel I could confidently with the material Aaron and Joe provided.
I've worked through about a half of the book until now and I love it.
This teaching technique is very effective: you go through the chapters and there are mini projects that you have to do, from scratch, without using the templates, in order to really understand what's going on. Often you have "challenges" for which you have to go dig through the documentation so you get a good understanding of how this documentation is structured and how to proceed when you need to find something in it. In my opinion, this "go check out the documentation" thing is worth big bucks, because there's no way a book can teach you every little thing out there. So being able to find it all by yourself is essential. This book teaches this skill.
It has nice diagrams to help you understand the structure of a project you're going to do, and for all the hands on things you have detailed explanations and pictures.
I'm looking forward to finish the book and do my own projects. A big "thank you" to the authors! Great job guys!
I had given up trying to learn iOS/Objective-C through Apple's own provided content. I have been programming for over 20 years so I knew the material provided was not good, since I am a pro in the ins and outs of programming, so just needed an easy walk through and this was it. Highly recommended and three of my other friends have already bought it too and like it.
This is third book I have purchased on iOS application development, and I pretty much consider it a bench mark for other authors/publishers to follow.

This first title I purchased (Learning iPhone Programming) merely scratched the surface, so when I initially started working through this title I was a little confused as the concepts were shown rather differently. Rather than just creating projects using Xcode's built in templates (like the afore mentioned title), you are shown how to create the various views/controllers programatically which gives you a better understanding behind these concepts.

There are also plenty of diagrams included which help give you an understanding as to how the projects you build are held together using Apples preferred programming model MVC, as well as diagrams which simply help to get the points in the text across to the reader.

If I have one minor criticism, it would be that not every piece code is explained (the majority is), but then I guess that is what Apple's documentation is for, so I am probably expecting everything to be handed to me on a plate.
iOS Programming (2nd Edition) does a great job of giving you an initiation into Xcode 4 and iOS 4. You immediately dive into coding with good, detailed information but without explaining everything. This gets you up and running and gives you some momentum by explaining the pertinent details for the chapter but leaving the other information for later chapters.
One of my favorite features in this book was that they do not use the default templates. Instead, you create a basic NSObject class and then add all the things that would normally be added by the IDE. This gives you a clear understanding (with their explanations) of what these elements do and what they are for.
iOS Programming also adds a lot more detail, charts, and images from its 1st edition predecessor. The extra material alone is worth buying the second book over the first one, even if you can get a cheaper price on the 1st edition. The 2nd ed will provide you with information on the latest (as of this book [iOS 4.0]) API calls and a great tutorial on Xcode 4 (the 1st edition was written for Xcode 3 and the changes between 3 and 4 are very significant).
The clear way in which the material has been presented in this book along with the real-world exercises that use features that belong in every app has made reading/working through this book a joy and something I look forward to when I get home from where (where I've been programming all day).
This book is great and I look forward to my next book that I plan on reading by the Big Nerd Ranch, Advanced Mac OS X Programming, which is my real interest, though iOS programming gave me a great background in Objective C and the iOS API. Advanced Mac OS X Programming (2nd Edition of Core Mac OS X & Unix Programming)
Definitely the best guide I found for Iphone development, one can find all sorts of stuff on the web but I think having a good book that explains everything clearly, is best. I went thru the book from cover to cover, one gets a real sense of accomplishment seeing things coming together. Its surprising how much this book covers - within a few chapters one is using GPS and the accelerometer. The book goes onto to cover blocks, graphics, http and parsing....and much more. As the author states each chapter could be a book in its own right, but the book covers enough details to allow one to use them effectively.
Good advice is found throughout the book on how to proceed as an iPhone (aka IOS) developer. However, Apple are making changes that could render some aspects out-of-date before you finish reading...IOS5 due to released soon, updates to Xcode. Fortunately the bignerd forums already have info about IOS5, and I suspect the underlying principles would still be valid. The most valuable knowledge I gained from using the book is an understanding of the libraries and frameworks available to a IOS developer, I imagine I will be coming back again and again to remind myself about things I have learnt.
This is the best iOS programming book I've seen and the best written technical book I've read in years. As a beginner to iOS programming, the book provided enough background info and concepts for me to learn not only the how but the why (which is rare in technical books these days). But don't think this book is just for begginers -- the samples don't leave you stuck at "Hello World" the exercises provide a great launch pad to truly learn how to develop great apps. Would recommend this book to anyone interested in iOS programming whether beginner or expert. Some reviewers listed a drawback that the book has no OpenGL coverage, but given that topic could be an extensive book in itself -- I respect the authors decision to leave the topic out completely.
Compared to the first edition of this book, this is a big improvement. More than 100 extra pages, iPad development is more integrated this time and Xcode 4 is covered. This version of the Big Nerd Ranch Guide is much more current. The name has also been changed to reflect programming for multiple devices, not just the iPhone. Chapters on advanced subjects such as blocks and categories is a nice addition. OpenGL is still not covered, as that subject take an entire book alone.
The Big Nerd Ranch guide is still a great book to learn iOS programming, so pick it up. You won't be disappointed.
I had previously purchased a paper copy of the previous edition and would not have purchased this edition had I known that it still did not reference iOS 5 and X-Code 4.2 any more than the earlier edition did. Since the material is less theoretical than practical and because its learning value is directly related to working exercises (which the latest programming environment breaks) this is a major flaw.

Rather than waiting until consumers purchase the book and saying in the intro regarding the new programming environment, which Apple had already released:

"These changes are part of any programmer's life and also part of any programming book developer's life. We just roll with them."

and providing a web link to "updated" material (essentially a bulletin board of user-contributed content), it would have been better if the book simply admitted the limitation upfront. While many would choose to purchase the book anyway, I was specifically looking for a tutorial for X-Code 4.2, which has been out long enough that other books are now available. I can't help feeling a little bit annoyed for being told this material was "updated" when in fact it's almost the same material, and still not current.
If you are climbing iOS development mountain, This is your book. Along with all the stuff you need to know are all the things you would have spent hours trying to figure out. Many of the objective C idiosyncrasies are covered. I only wish I found this book sooner. If your struggling don't hesitate. It's a must have.
This is the best programming book I have ever read. Rather than dazzle the student with all of the mysterious magic of which iOS is capable (a tactic many other iOS books use in order to lull the student into thinking that iOS programming is easy), this book, from the very outset, pulls the curtain aside to reveal the elegant inner workings. It imbues the student with an understanding of the language's principles and logical structure. It intelligently avoids merely providing a cookbook of "Do this, do this, do this and voila: a working program". Starting from the assumption that the student knows nothing about iOS and Objective-C, its approach is to interweave concepts with specific examples and programming exercises. The result is a solid foundation of knowledge. True, this book is not for the novice programmer, but, for anyone with a basic understanding of programming principles, this is the book to use.
I reviewed the first edition of this book a while back, and I explained that it was probably the best book on the subject matter available at the time. Several years later and now in the second edition, I've got to say-- this is still, hands down, the best book for aspiring iOS programmers. Yes, it still assumes a basic understanding of the Objective-C language, but that can easily be obtained by reading Big Nerd Ranch's other book, Cocoa Programming for Mac OS X (4th Edition).

Both Mr. Conway and Mr. Hillegass have done an excellent job, yet again, in making this an even better, and fully up to date edition. Here's to an excellent followup that will hopefully come alongside the release of iOS 5! If you're buying only one book on this subject, this is the one to buy.
i had the first edition which wasn't compatible with xcode 4, so i bought this 2nd ed. i have read a lot of ios development book and this is one of the best one available. the book is well organized and the content is well explained. they include all the necessary images to help follow along with the process.

my only complaint is that some part of the book is incompatible with xcode 4.1, especially the core location chapter. although that's really apple's fault for constantly changing xcode that would result in code breakage with every update.

the author also provide good support for the book. you can post on their official forums if you have any questions regarding the book and the arthur would personally respond.
I started with the first edition never having done any development whatsoever on iOS or Mac. That book got me up to speed quickly. The second edition is even better. Along with some new content, things have been refined as well. It was a tall order to improve on the first but they have managed to do so. The writing style and the way the material is laid out not only makes it easy to learn but gives you a good foundation to continue learning beyond the material provided. Highly recommended.
Just spent the last five days covering this book with the author in an iOS bootcamp and I must say it was worth every penny. The book is well laid out covering the core concepts that any developer wanting to get into iOS should start with and understand. The examples help the reader create applications big enough to understand the concept but not overly complicated that you get lost or so small that you end up with "Hello World".

I read at least 6 technical books a year and this one is light years a head of every other book in many ways.
This book was published a few months ago and it is already outdated. This is no fault by the guys at Big Nerd Ranch. It's just Apple!!!!

The newest version of Xcode 4.2 has different Interfaces and different layouts for its GUI and makes following examples in this book difficult. Hoping for an updated version of this book.
Hands down the best introduction (beginner and advanced topics) to iOS programming available. There's a lot to chew in this book, so be prepared to spend a fair amount of time with it, but you will be rewarded.
Better than the previous edition - the explanations seem to be better thought out and the flow of examples seems better. Although the explanation might be that Xcode 4 is a very nice integrated environment so that less space has to be taken up with hopping from one application to another.New sections that are particularly exciting cover Bonjour and push notifications, together with an exploration of how to use the new background features.

The authors run a series of programming courses - most recently in Australia - and their teaching experience really shows. They have seen most areas of confusion and take steps to stop you running of in various wrong directions. I've used a variety of books to get a grip on iOS programming, and I keep returning to this one (obviously the previous edition!) when my brain refuses to work. It is by far the most satisfying self-teaching book I've come across.
Great book, but it needs to be updated for the final release of Xcode. Following the examples is difficult as a result. Xcode generated code and templates don't match up with the book. I feel a bit ripped off, but the teaching methods are good.
I would highly recommend this book to anyone who wish to learn how to write iPhone/iPad apps. However, you should wait for the 3rd Edition if you are using iOS SDK version 5 or later because Apple has taken out the Window-based Application template in iOS SDK 5 which is commonly used in this book. If you can't wait and want to start learning with this book, here is a workaround: http://forums.bignerdranch.com/viewtopic.php?f=74&t=3336
First, I'd like to apologize to all those who think that this book is a waste of money. I beg to differ.
It has good (easy to follow) examples, but not too easy. Anybody interested in Objective-C and Cocoa Touch can benefit from it.
One thing though. I would wait for the third edition that's coming out around March or so (2012) because there are a few things that changed in Xcode 4.2.
If you want to learn iOS programming in a very intuitive way this book is the option. When I bought it was one of those books that you cannot let down because it provides such deep knowledge in a very well-planned progression that you won't lose the path in the middle of an explanation. It is important to know that understanding this book requires a previous knowledge of programming in other languages or objective C, of course. Definitely not for total beginners but of those who want to expand their programming horizon.
I have learned a lot from this book and recomend its reading to anyone starting iOS development, be it a programming newbie or a more experienced programmer.
I would have appreaciated, though, some more detailed explanation on some topics.
This book is that it uses a previous Xcode version. But this doesn't really hinder your learning. The only real problem is that in some subjects (such as rotation and saving an NSMutableArray) the iOS 4, which came after it, offer simpler ways of achieving the same results than the way shown in the book. Yet, it is nice to study the old way also, for the purpose of developing the SDK-way of thinking.
This is an outstanding book that I highly recommend for iOS programming. They go beyond saying do this or that and explain in great detail exactly why you should do this or that.
Like other Objective C books, this one assumes the reader knows C or Java. Unlike others, enough care went into the English to make it possible to understand. For example, while the author presents code in incremental steps, some of the concepts still take me a while to grasp. The end-of-chapter challenges are a great idea. I wish there were more, but less comprehensive, scattered among the steps. It takes effort, but I'm finally absorbing how Objective C works.
This is the absolute best there is out there on iOS programming - there simply ain't any other iOS book like this. Authors of this book have amazing ability to describe complex technical matters in a simple and straightforward way yet covering all the essential things that matter. I suppose this skill and insightfulness has been acquired by doing years and years of training and spending countless of hours teaching beginners.

I have never read any other technical books so well written as Big Nerd Ranch's technical books and I've been in this business since 1985. Aaron has a special skill and talent as a trainer, author and mentor, I hope we will see more great books from him in the future! Readers truly benefit as these books really are capable of teaching you new skills!

I'm very satisfied I found Big Nerd Ranch books and I can wholeheartedly recommend these to anybody. Thank you!
I almost feel bad writing this because it means I'm admitting that the weeks I've poured over this book were squandered. But, alas, that's he truth.

This book encourages you to type code even if you don't understand what you're writing with the promise that you will later on. Well, I'm over halfway through the book and I still don't know what I'm writing and when you wanna look something up, it's either not there or not written in a friendly vernacular.

I'm afraid that I haven't picked up as much through osmosis as I was supposed to.

I picked up some, don't get me wrong, but I've found that I have spent HOURS trying to figure out basic things that the book should have helped me grasp by chapter 16.

The challenges were the only place where I learned anything. That's probably because that's where it requires you to apply knowledge (and look it up if you don't have it yet. The rest of the time I didn't learn.

There has to be a better way to teach this subject. Something with more homework, more step-by-step and more ENGLISH. Ya know?
Coming from the web world of jQuery, HTML and PHP back to the land of C and OO programming, which I had left behind long ago, I needed something containing a primer on both Objective-C, which I was unfamiliar with, as well as a solid introduction to the Cocoa framework (and the other ins and outs of iOS). This book more than did the job. Fantastic introduction that doesn't talk down to experienced programmers, and yet doesn't fly past concepts so fast you don't really feel you've got a handle on them. With this book under my belt, I was quickly able to begin exploring the rest of Cocoa on my own, and to begin using some of the newer features from XCode 4.2, such as ARC and storyboards (this book just covers using XIB files, I assume the next version will cover storyboards). If you want something that will give you an introduction to both Objective-C and iOS/Cocoa concepts, design patterns, the Cocoa frameworks, solid examples, and leave you with a firm foundation in iOS, this is the book to get. It also does a nice job of showing you how to develop for both the iPhone and the iPad and how to make universal apps. I've read a lot of programming books in my time, but this has got to be right up there at the top.

( I notice other reviewers commenting that the book is out of date, and I admit that it does take some work to use XCode 4.2 with it. I was using this book prior to XCode 4.2 being released, and made the changeover to 4.2 while I was in the middle of the book. I found it fairly easy to create an empty project, then create a MainWindow.xib, change the project settings, etc, to get a default empty project that I used as a template for the later examples in the book.)
This is one of the best book for IOS programming. I particularly like the wiring in the diagrams. It is easy to read and great detail. I am using Xcode 4.2 and IOS 5; therefore, there are differences. But, over all, it is a good book. I will buy it if I have not bought.
How does one learn iOS programming? Certainly not just by reading, but rather by typing out the code in front of a Mac and understanding each line of it. This book has made that process incredibly fun and rewarding. The teaching is done through good code examples, helpfully laid out on each page. It is very easy to follow the text and understand the code examples since they are provided in complete chunks with helpful highlights rather than incomprehensible fragments. Big ideas are thoroughly explained. The language is laid back and yet precise and succinct. I certainly recommend this book to anyone thinking about being an iOS developer!
Good book. Really like the examples and the writing is interesting and not dry like some books can be. Starting with a simple app was a great idea as it gave me a sense of accomplishment right from the start that made me want to keep going. Good job Big Nerd Ranch!
I found this book to be a great reference. It touches every subject you need to develop iOS applications. Each chapter has relevant screenshots, UML diagrams, code snippets, and concise explanations and a fluent descriptive language. This is the first book I know that covers all the recent iOS features as well as Objective-C, just look at the table of contents:

1. A simple iOS application
2. Objective-C
3. Memory management
4. Delegation and core location
5. MapKit and text input
6. Subclassing UIview
7. View controllers
8. The accelerometer
9. Notification and rotation
10. UITableView and UITableViewController
11. Editing UITableView
12. UINavigationController
13. Camera
14. UIPopoverController and modal view controllers
15. Saving, loading, and multitasking
16. Subclassing UITableViewCell
17. Core data
18. Localization
19. Settings
20. Touch events and UIResponder
21. Instruments
22. Core animation layer
23. Controlling animation with CAAnimation
24. Blocks and categories
25. Web services and UIWebView
26. UISplitViewController
27. Media playback and background execution
28. Bonjour and web servers
29. Push notifications and networking

The website of the book has all the code samples for download ([...]) and there's an interactive forum as well.

Great start to become an efficient iOS developer.

I was very critical of this book's first edition. So much so, that the authors contacted me to debate my issues with the book. After taking a year off from iphone programming for another project, I decided to buy a new iOS programming book so I could brush up on the changes like blocks, story boards, etc.

Wouldn't you know it, Big Nerd Ranch right there in the top of the list? The memories of the first edition rushed back to me, but wait, does that say.....2nd edition?? I jumped on it with a smile on my face because I knew if this book was good, that it proves my point to the author that the first edition was flawed!!!

It is good and the first edition was bad. They fixed all the mistakes and made things much more clear in this book.

However, it is not perfect, hence the 4 stars and not 5. If you want 5 stars you have to write each chapter as a self contained module and not have them depend on each other. For the readers, this means that some of the chapters will build off of a previous chapter.

The reason I dislike this method of writing is that I might not want to read the other chapter. Plus, if the other chapter was a project I felt was boring, I'm not looking forward to building on it.

However, the real life example came tonight, when thinking about an app I want to write I decided I needed to brush up on my core data skills. I remembered Big Nerd Ranch said something about a new core data section, so I got the chapter up, fired up xcode on my macbook, and got ready to write something.

That's when I felt disappointed. This chapter builds off of Homepwner (I almost removed a star for the app names), an app in a chapter I skipped over.

So, do I go back and read that boring chapter I don't want to read, or just push on into the core data chapter and hope it makes sense?

I did neither. I ended up buying a different book that has a chapter on core data, and said right in the description "Each chapter a contained module for easy learning".
One of the best books on computer programming I've read. (I'm more than half-way done with it as of right now...)
I considered the first edition to be a contender for best iOS book on the market, and the second edition is remarkably improved. Usually second editions are much more incremental revisions than this Big Nerd Ranch product. I know that these guys are icons and demigods in the development community, and I'm really coming to understand why.

If you haven't learned iOS programming yet you've missed your chance to make thousands of dollars by writing a flashlight app, but at least you finally have good books to make your education less painful. (Some of us had to really feel around in the dark in those early days)
Typically I stick with looking up solutions online, but this book was much more helpful than other programming books I have read in the past.
Good:
-Very easy to learn.
-Good examples, useful for real implementations.
-It is updated for Xcode 4, most of other books are not.
-It has a preperforated keyboard shortcut guide at the end of the book for reference.

Bad:
-As quick as it is to learn, after a few days is not useful anymore.
Ok, it was a very nice experience, the package arrived in excellent conditions and in time.
The only thing I can mention is that inside the package was a tiny bit dusty. But not to much to complaint.

Thanks Amazon...
 
Share your thoughts with other customers
Create your own review