Learning iPad Programming: A Hands-on Guide to Building iPad Apps with iOS 5


Learning iPad Programming walks you through the process of building PhotoWheel (free on the App Store), a photo management and sharing app that leverages every aspect of iOS 5. With PhotoWheel, you can organize your favorite photos into albums, share photos with family and friends, view them on your TV using AirPlay and an Apple TV, and most importantly, gain hands-on experience with building an iPad app. As you build PhotoWheel, you’ll learn how to take advantage of the latest features in iOS 5 and Xcode, ...
See more details below
Other sellers (Paperback)
  • All (21) from $1.99   
  • New (5) from $26.50   
  • Used (16) from $1.99   
Sending request ...


Learning iPad Programming walks you through the process of building PhotoWheel (free on the App Store), a photo management and sharing app that leverages every aspect of iOS 5. With PhotoWheel, you can organize your favorite photos into albums, share photos with family and friends, view them on your TV using AirPlay and an Apple TV, and most importantly, gain hands-on experience with building an iPad app. As you build PhotoWheel, you’ll learn how to take advantage of the latest features in iOS 5 and Xcode, including Storyboarding, Automatic Reference Counting (ARC), and iCloud. Best of all, you’ll learn how to extend the boundaries of your app by communicating with web services. If you want to build apps for the iPad, Learning iPad Programming is the one book to get.

As you build PhotoWheel, you’ll learn how to

  • Install and configure Xcode 4.2 on your Mac
  • Master the basics of Objective-C, and learn about memory management with ARC
  • Build a fully functional app that uses Core Data and iCloud for photo sharing and synchronization
  • Use Xcode’s new Storyboard feature to quickly prototype a functional UI, and then extend that UI with code
  • Create multitouch gestures and integrate Core Animation for a unique UI experience
  • Build custom views, and use view controllers to perform custom view transitions
  • Add AirPrint, email, and AirPlay capabilities to your app
  • Apply image filters and effects using Core Image Diagnose and fix bugs with Instruments Prepare your app for submission to the app store

Download the free version of PhotoWheel from the App Store today! Share your photos with friends and upload to iCloud, all while learning how to build the app.

Read More Show Less

Editorial Reviews

From the Publisher
“Great books transcend their subject matter. … This book … takes you from design, to a throwaway prototype, to the Real Deal.”

–From the Foreword by Mark Dalrymple

“This amazing, thorough book takes an interesting approach by working through the design and development of a simple, yet realistic iPad app from start to finish. It is refreshing to see a technical book that explains how and why without inundating you with endless toy examples or throwing you into a sea of mind-numbing details. Particularly amazing is that it does this without assuming a large amount of experience at first. Yet it covers advanced topics at sufficient depth and in a logical order for all developers to get plenty of valuable information and insight. Kirby and Tom know this material and have done a great job of introducing the various frameworks and the reasoning behind how, why, and when you would use them. I highly recommend Learning iPad Programming to anyone interested in developing for this amazing platform.”

–Julio Barros


“This is a great introduction to iPad programming with a well-done sample project built throughout. It’s great for beginners as well as those familiar with iPhone development looking to learn the differences in developing for the larger screen.”

–Patrick Burleson

Owner, BitBQ LLC (http://bitbq.com)

“Kirby Turner and Tom Harrington’s Learning iPad Programming provides a comprehensive introduction to one of today’s hottest topics. It’s a great read for the aspiring iPad programmer.”

–Robert Clair

Author, Learning Objective-C 2.0

Learning iPad Programming is now my go-to reference when developing apps for the iPad. This book is an absolute treasure trove of useful information and tips for developing on the iPad. While it’s easy to think of the iPad as just a bigger iPhone, there are specific topics that need to be treated differently on the iPad, such as making best use of the larger display. Learning iPad Programming provides an incredible amount of depth on all areas of iPad programming and takes you from design to fully functioning application–which for me is a killer feature of the book. This should be in everyone’s reference library.”

–Mike Daley

Author, Learning iOS Game Programming

Cofounder, 71Squared.com

“A truly well-rounded book with something for every iOS developer, be they aspirant or veteran. If you are new to iOS, there is a solid foundation provided in Part I that will walk you through Objective-C, the core Apple frameworks, provisioning profiles, and making the best of Xcode. If you’ve been around the block but want solid insight into iPad programming, Part II has you covered: Rather than just providing canned example code, Kirby and Tom give you real code that incrementally builds and improves a real app. And if you’ve been working with iOS for a while, but would benefit from a walk-through of the plethora of new features that have come our way with iOS 5 and Xcode 4, dive into the chapters on Storyboards, iCloud, and Core Image. Best of all, the book is well-written and conversational, making it a joy to read. This book is stellar.”

–Alexis Goldstein

Coauthor, HTML5 & CSS3 for the Real World

Learning iPad Programming is one of the most comprehensive resources on the planet for those developing for Apple’s iPad platform. In addition to coverage of the language, frameworks, and tools, it dives into features new in iOS 5, like Automatic Reference Counting, Storyboarding, and connecting your applications with iCloud. But where this book really shines is in the tutorials and the application you will build as you read through this book. Rather than being a toy that employs only off-the-shelf iOS user interface components from Interface Builder, the PhotoWheel app demonstrates custom view programming and view controller containment, nonstandard gesture/user input handling, and provides insight into how a complex iOS project comprised of multiple subsystems is assembled into a shipping application. In other words, Learning iPad Programming shows how to deal with the challenges you’ll face in real iPad development.”

–Erik Price

Senior Software Engineer, Brightcove

“A thoroughly crafted guide for learning and writing iOS applications, from the humble beginnings in Xcode and Interface Builder to creating a full-featured iPad application. There are many books that try to cover the gamut of knowledge required to take a reader from zero to app; Kirby and Tom have actually done it in this book. It is a fun and comprehensive guide to the world of developing apps for Apple’s magical device.”

–Rod Strougo

Founder, Prop Group

“The iPad is changing the way we think about and use technology. Learning iPad Programming is one of the most in-depth and well-executed guides to get both new and seasoned developers up to speed on Apple’s exciting new platform.”

–Justin Williams

Crew Chief, Second Gear

Read More Show Less

Product Details

  • ISBN-13: 9780321750402
  • Publisher: Addison-Wesley
  • Publication date: 1/2/2012
  • Series: Learning Series
  • Edition number: 1
  • Pages: 792
  • Product dimensions: 7.06 (w) x 9.00 (h) x 1.03 (d)

Meet the Author

Kirby Turner is an independent software developer and business owner focusing on Mac and iOS programming. He sells his own apps through his company White Peak Software, and he does contract programming when time allows. Follow Kirby on Twitter: @kirbyt.

Tom Harrington switched from writing software for embedded systems and Linux to Mac OS X in 2002 when he started Atomic Bird, LLC. After six years of developing highly regarded Mac software, Tom moved to iPhone in 2008. He develops iOS software on a contract basis and organizes iOS developer events in Colorado. Follow Tom on Twitter: @atomicbird.

Read More Show Less

Table of Contents

Foreword xxv

Preface xxix

Acknowledgments xliii

About the Authors xlv

Part I: Getting Started 1

Chapter 1: Your First App 3

Creating the Hello World Project 3

Getting Text on the Screen 10

Say Hello 12

Summary 17

Chapter 2: Getting Started with Xcode 19

The IDE 19

Workspace Window 20

Preferences 26

Developer Documentation 34

Editors 35

Project Settings 36

Schemes 39

Organizer 40

Other Xcode Tools 41

Summary 41

Chapter 3: Getting Started with Interface Builder 43

Interface Builder 43

How Does IB Work? 44

Getting Hands-On with IB 45

Connecting Your NIB to Your Code 57

Storyboards 63

Summary 64

Chapter 4: Getting Started with Objective-C 65

What Is Objective-C? 65

Hands-On with Objective-C 66

Using the CoinTosser Class 84

Memory Management 85

Summary 87

Chapter 5: Getting Started with Cocoa 89

The Cocoa Stack 89

Foundation 91

UIKit 103

Common Design Patterns in Cocoa 112

Summary 113

Chapter 6: Provisioning Your iPad 115

About the iOS Provisioning Portal 115

The Provisioning Process: A Brief Overview 117

Setting Up Your Development Machine 121

Setting Up Your Device 128

Using the iOS Provisioning Portal 131

Summary 139

Chapter 7: App Design 141

Defining Your App 141

UI Design Considerations 148

Mockups 154

Prototyping 160

Summary 163

Part II: Building PhotoWheel 165

Chapter 8: Creating a Master-Detail App 167

Building a Prototype App 167

A Closer Look 173

A Tour of UISplitViewController 181

Summary 187

Exercises 187

Chapter 9: Using Table Views 189

First Things First 189

A Closer Look 193

Working with a Table View 194

Summary 230

Exercises 230

Chapter 10: Working with Views 231

Custom Views 231

A Wheel View 233

A Carousel View 240

A Photo Wheel View Cell 248

Summary 252

Exercises 252

Chapter 11: Using Touch Gestures 253

Touch Gestures Explained 253

Custom Touch Gestures 258

Summary 266

Exercises 267

Chapter 12: Adding Photos 269

Two Approaches 269

Using the Image Picker Controller 271

Summary 284

Exercises 284

Chapter 13: Data Persistence 285

The Data Model 285

Building the Model with Property Lists 286

Building the Model with Core Data 298

Using Core Data in PhotoWheel 307

Adding Custom Code to Model Objects 315

Using SQLite Directly 326

Summary 327

Exercises 327

Chapter 14: Storyboarding in Xcode 329

What Is a Storyboard? 329

Storyboarding PhotoWheel 333

Summary 349

Exercises 349

Chapter 15: Doing More with View Controllers 351

Implementing a View Controller 351

Segue 355

Customizing the Pop Transitions 364

Container View Controller 367

Summary 376

Exercises 376

Chapter 16: Building the Main Screen 377

Reusing Prototype Code 378

Displaying Photo Albums 398

Managing Photo Albums 409

A Better Photo Album Thumbnail 425

Adding Photos 429

Displaying Photos 434

Summary 455

Exercises 455

Chapter 17: Creating a Photo Browser 457

Using the Scroll View 457

Launching the Photo Browser 467

Adding Chrome Effects 477

Zooming 482

Deleting a Photo 489

Summary 498

Exercise 498

Chapter 18: Supporting Device Rotation 499

How to Support Rotation 499

Customized Rotation 502

Fixing the Trouble Spots 511

Launch Images 520

Summary 523

Exercises 523

Chapter 19: Printing with AirPrint 525

How Printing Works 525

Adding Printing to PhotoWheel 527

Summary 531

Exercises 532

Chapter 20: Sending Email 533

How It Works 533

The SendEmailController Class 535

Summary 546

Exercises 546

Chapter 21: Web Services 547

The Basics 547

Flickr 549

One More Thing 580

What’s Missing 582

Summary 582

Exercises 582

Chapter 22: Syncing with iCloud 583

Syncing Made Simple 583

iCloud Concepts 584

Device Provisioning, Revisited 586

iCloud Considerations for PhotoWheel 592

Updating PhotoWheel for iCloud 593

Syncing Photos with iCloud 598

Summary 607

Exercises 607

Chapter 23: Producing a Slideshow with AirPlay 609

External Display Options 609

App Requirements for External Displays 609

External Display API 610

Adding a Slideshow to PhotoWheel 611

Managing External Displays 616

Advancing to the Next Photo 620

Adding Slideshow User Interface Controls 622

Updating the Photo Browser 624

A Note on Testing and Debugging 625

Adding AirPlay Support 626

Using AirPlay 628

Summary 629

Exercises 629

Chapter 24: Visual Effects with Core Image 631

Core Image Concepts 631

Introducing CIFilter 633

Image Analysis 636

Adding Core Image Effects to PhotoWheel 638

Summary 656

Exercises 656

Part III: The Finishing Touches 659

Chapter 25: Debugging 661

Understand the Problem 661

Debugging Concepts 662

Debugging in Xcode 663

Debugging Example: External Display Code 670

When You Really Need NSLog 674

Profiling Code with Instruments 676

Summary 682

Chapter 26: Distributing Your App 683

Distribution Methods 683

Building for Ad Hoc Distribution 684

Building for App Store Distribution 688

The App Store Process 691

App Information for the App Store 692

App Store Assets 694

Using iTunes Connect 695

Submitting the App 696

Going Further 698

Summary 699

Chapter 27: The Final Word 701

What’s Next 702

Appendix A: Installing the Developer Tools 703

Joining the iOS Developer Program 704

Downloading Xcode 708

Installing Xcode 708

Index 711

Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star


4 Star


3 Star


2 Star


1 Star


Your Rating:

Your Name: Create a Pen Name or

Barnes & Noble.com Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & Noble.com that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & Noble.com does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at BN.com or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation


  • - By submitting a review, you grant to Barnes & Noble.com and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Noble.com Terms of Use.
  • - Barnes & Noble.com reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & Noble.com also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on BN.com. It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously

    If you find inappropriate content, please report it to Barnes & Noble
    Why is this product inappropriate?
    Comments (optional)