iPhone Fun Tips Rotating Header Image

Programming iOS 5: Fundamentals of iPhone, iPad, and iPod touch Development

Get a solid grounding in the fundamentals of Cocoa Touch, and avoid problems during iPhone and iPad app development. With this revised and expanded edition, you’ll dig into Cocoa and learn how to work effectively with Objective-C and Xcode. This book covers iOS 5 and Xcode 4.3 in a rigorous, orderly fashion—ideal whether you’re approaching iOS for the first time or need a reference to bolster existing skills.

Many discussions have been expanded or improved. All code examples have been revised, and many new code examples have been added.

  • The new memory management system—ARC—is thoroughly explained and all code examples have been revised to use it.
  • New Objective-C features, such as declaration of instance variables in the class’s implementation section, are described and incorporated into the revised example code.
  • Discussion of how an app launches, and all code examples, are revised for project templates from Xcode 4.2 and later.
  • Other new Xcode features, including the Simulator’s Debug menu, are covered, with screen shots based on Xcode 4.2 and later.
  • The discussion of Instruments is expanded, with screen shots—by popular request!
  • Storyboards are explained and discussed.
  • The explanation of view controllers is completely rewritten to include iOS 5 features, such as custom parent view controllers and UIPageViewController.
  • The Controls chapter now includes iOS 5 interface customizability and the appearance proxy.
  • New features of interface classes are discussed, including tiling and animated images, new table view features, new alert view styles.
  • Coverage of frameworks such as Core Motion and AV Foundation is greatly expanded. New iOS 5 classes and frameworks are also discussed, including Core Image and UIDocument (and iCloud support).
  • Important iOS 5 changes that can break existing code are explicitly called out in the text and listed in the index.

Click Here For More Information


  1. Joshua Davies says:

    Not for a beginning programmer, but comprehensive if you’re experienced iOS (iPhone OS) is Apple’s unified operating system for its handheld/ mobile computing environments including the iPhone, iPad and the iPod touch. Matt Neuburg, the author of the O’Reilly “Programming iOS” series, has established himself as an expert in both the operating system and the large API set that supports it. His experience and authority shows throughout the book — this is clearly somebody who’s spent decades in his field and has some real, useful, hands-on experience to share. I learned iOS programming from this book’s predecessor, “Programming iOS 4″. Just about the time I finished reading that book, it was already out of date with Apple’s iOS 5 having rolled out. Now that I’m finished reading this 1000+ page book, it, too, is out of date as Apple has announced iOS 6. I look forward to a new edition of Neuburg’s book which I will pick up as soon as it becomes available.Structurally, “Programming iOS 5″ is similar to “Programming iOS 4″. Both books are split into seven parts, but they really break down into three logical ones. The first section covers the Objective-C language that you must use to interface meaningfully with iOS. The second section covers the XCode IDE that virtually everybody uses to develop iOS programs, and the third, longest section of the book covers the actual iOS API set (he breaks this third section into five “parts” for publication symmetry, but these last five sections are far more related to one another than the first two).Part I – LanguageThe first section is almost identical in both editions of the book. It’s not a bad introduction to Objective-C; it starts with a refresher on the core C language (Objective-C can be seen as a competitor to C++ — an object- oriented framework added to C). This chapter moves fast, so you’ll probably want to have some prior exposure to C before picking up this book. The remaining four chapters of this section — one-tenth of the book — cover Objective-C. When I first picked up the first edition of this book, I had had no exposure whatsoever to the Objective-C language, but I was very comfortable with “regular” (procedural?) C. I found his coverage of Objective-C to be perfectly acceptable, albeit brief. I did have to refer back to these chapters a few times as I read later chapters to remind myself, for instance, what an Objective-C “Category” was, but the chapters are organized and indexed well enough that I could always find what I was looking for. From a learning perspective, it might have been nice if he had returned to some of the advanced concepts that a plain C programmer might not be familiar with when he talks about them from an iOS perspective, but it’s not a terrible burden to go back and re-read the parts you didn’t completely absorb when it comes back up.I could summarize the differences between part I of the first and second editions in a few lines; Objective C itself didn’t really change, so neither did the book. In fact, the only significant difference between the two books was coverage of ARC (Automatic Reference Counting), which is a new feature in iOS 5. Like I said, this whole section is comprehensive but brief; if you have time to invest in really learning Objective-C inside and out from another source before picking up this book, it will be time well spent. Still, I couldn’t and didn’t, and I don’t think that my experience with the later chapters suffered as a result. The author has a tendency towards unnoted forward-references in this part, though — he’ll say “delete the setNumber: method and its declaration”, but how to do that isn’t covered until a few chapters later. If you’re an experienced programmer, you can probably figure it out, but it might be hard going with a lot of turning back a few pages to re-absorb something.Part II – IDEThe section on the XCode IDE is only four chapters, but they’re amazing chapters. His coverage of the IDE is nearly exhaustive — I now know what every single menu option and configuration screen in XCode is for. Although there are some obscurities he doesn’t dig too deeply into, like the profiler, he shows you where they are and gives you a high-level overview of everything in there. This is where the author’s experience shines — he knows all the ins and outs and tips and tricks of the code/interface builder integration. He even shows three different ways of connecting interface builder objects to code. (One surprising omission is that he doesn’t talk, at all, about how to use gesture recognizers in the NIB editor. He doesn’t talk about that in chapter 18, on gesture recognizers, either — so if you want to do this without code, you’re sort of on your own).This is a guide to using an IDE, though, so there are lots of screenshots in this part. There were a few places where the screenshots didn’t match the screen, even though I was careful to ensure that I used the exact same version (4.3) that…

  2. mko "mko" says:

    Updated to reflect recent changes in iOS This book is simply a new release of “Programming iOS 4′. It contains lots of new information you won’t find in previous release – mostly related to most recent changes in iOS 5. One of these features are story boards. Basically, whenever story boards are applicable, you will read how to apply them. ARC related memory management is another new feature, and, it is well described here. If you haven’t used it yet you will learn how to work with ARC in both situations – when you develop old application and want to migrate to ARC and how to work with ARC in applications developed from the scratch. New concepts like @autoreleasepool blocks, weak references, retain cycles are also explained. Sections related to notifications, startup process and life time have improved. Comparing to previous edition, section “Swamped by Events” was rewritten and redesigned. In my opinion it is now easier to follow and easier to understand. The same refers to view controllers related part. Basically, the book targets recent XCode release and iOS 5 and addresses some composition/content related drawbacks you can find in previous release. Big plus goes for mentioning Instruments. However, this section is way too short. It covers only simple use-cases. Still, it’s better than nothing.When it comes to drawbacks. In my opinion there are two frameworks that are missing – CoreData and SQLite. You won’t find anything about these in here. I think that book would be much better if it covered database storage related aspects. At least at introductory level.If you own “Programming iOS 4′ already, I’d skip this “upgrade”. In case you haven’t developed for iOS yet, this one is really good introduction to iOS development.

  3. T. Anderson says:

    Rock Solid…. Simply Awesome!!!!! A little background so you know what type of experience I have. I have been a Microsoft .NET architect and developer since the first beta release. Before that C, C++, ColdFusion, ASP, JavaScript and of course HTML. Being a .NET developer has many advantages, but the one major disadvantage we suffer has driven me to Java and Objective-C over the past year. That one disadvantage? Microsoft themselves. They come off as completely lost and have wreaked havoc on .NET developer community the past few years.I have read several books on programming with Objective-C, but this is by far the most comprehensive and well put together. One book I would recommend to anyone coming from the .NET world is Migrating to iPhone and iPad for .NET Developers.After advising the reader to brush up on their C by reading certain parts of C Programming Language, and then spending a chapter showing how C relates to Objective-C, the author has a really nice overview of Objective-C. The overview is Part I of the book and it is 5 chapters long. The chapters include Just Enough C, Object-Based Programming, Objective-C Objects and Messages, Objective-C Classes, and Objective-C Instances.Part II IDE includes chapters on Anatomy of an Xcode Project, Nib Management, Documentation, and Life Cycle of a Project. In part II the author goes into detail about the architecture of the project and the files included in the project. He does a great job of explaining nibs, the coding environment, testing, debugging, and provides an overview of the steps taken when submitting your app to the app store. The author also points out and shows you how to take advantage of the Xcode documentation.Part III is all about Cocoa. It includes chapters on Cocoa Classes, Cocoa Events, Accessors and Memory Management, and Data Communication. The author does a great job of explaining Automatic Reference Counting (ARC) in this section.Part IV Views contains chapters on Views, Drawing, Layers, Animation, and Touches. This part is all about paths, clipping, gradients, colors, patterns, transforms, shadows, points, pixels, layers, sublayers, hierarchy, resizing, positioning, depth, borders, everything about animation, touch events, gestures, and hit-testing. In other words a ton of information about views is covered in this part.Part V Interface includes chapters on View Controllers, Scroll Views, Table Views, Popovers and Split Views, Text, Web Views, Controls and Other Views, and Modal Dialogs. The understanding you gain of view controllers in this part of the book is amazing. The author did an awesome job explaining them and how they relate to rotation.Part VI introduces some of the other Cocoa frameworks available including Audio, Video, Music Library, Photo Library and Image Capture, Address Book, Calendar, Mail, Maps, and Sensors.Part VII is called Final Topics. In this part of the book the author introduces Persistent Storage, Basic Networking, Threads, Undo, and includes an Epilogue.The downloadable code is very well organized and usable. It is broken down into folders by chapter and page number which makes it very convenient to find the sample you want.This is by far one of the best programming books I have ever read. The author’s approach and writing style made it a pleasure to read. He does a great job of explaining complex topics and always covers everything in depth.If you are an iOS 5 developer, you owe it to yourself to buy this book and keep it at arms length!!!

Leave a Reply

Switch to our mobile site