You are previewing Learning iPad Programming: A Hands-On Guide to Building iPad Apps, Second Edition.
O'Reilly logo
Learning iPad Programming: A Hands-On Guide to Building iPad Apps, Second Edition

Book Description

“Not many books have a single project that lives and evolves through the entire narrative. The reason not many books do this is because it is difficult to do well. Important toolkit features get shoehorned in weird places because the author didn’t do enough up-front design time. This book, though, takes you from design, to a prototype, to the Real Deal. And then it goes further.”

—Mark Dalrymple, cofounder of CocoaHeads, the international Mac and iPhone programmer community; author of Advanced Mac OS X Programming: The Big Nerd Ranch Guide

Learning iPad Programming, Second Edition, will help you master all facets of iPad programming with Apple’s newest tools. Its in-depth, hands-on coverage fully addresses the entire development process, from installing the iOS SDK through coding, debugging, submitting apps for Apple’s review, and deployment.

Extensively updated for Apple’s newest iOS features and Xcode 4.x updates, this book teaches iPad programming through a series of exercises centered on building PhotoWheel, a powerful personal photo library app. As you build PhotoWheel, you’ll gain experience and real-world insights that will help you succeed with any iPad development project.

Leading iOS developers Kirby Turner and Tom Harrington introduce the essentials of iOS development, focusing on features that are specific to iPad. You’ll find expert coverage of key topics many iOS development books ignore, from app design to Core Data. You’ll also learn to make the most of crucial iOS and Xcode features, such as Storyboarding and Automatic Reference Counting (ARC), and extend your app with web services and the latest iCloud synching techniques.

Learn how to

  • Build a fully functional app that uses Core Data and iCloud synching

  • Use Storyboarding to quickly prototype a functional UI and then extend it with code

  • Create powerful visual effects with Core Animation and Core Image

  • Support AirPrint printing and AirPlay slideshows

  • Build collection views and custom views, and use custom segues to perform custom view transitions 

  • Download the free version of PhotoWheel from the App Store today! Import, manage, and share your photos as you learn how to build this powerful app.

    Table of Contents

    1. About This eBook
    2. Title Page
    3. Copyright Page
    4. Praise for the First Edition of Learning iPad Programming
    5. Dedication Page
    6. Contents at a Glance
    7. Contents
    8. Foreword
    9. Preface
      1. What Will I Learn?
      2. What Makes the iPad So Different?
      3. Organization of This Book
      4. Audience for This Book
      5. Getting the Source Code for PhotoWheel
    10. Acknowledgments
      1. Acknowledgments from Kirby Turner
      2. Acknowledgments from Tom Harrington
    11. About the Authors
    12. We Want to Hear from You!
    13. Reader Services
    14. Part I: Getting Started
      1. 1. Your First App
        1. Creating the Hello World Project
        2. Getting Text on the Screen
        3. Say Hello
        4. Summary
      2. 2. Getting Started with Xcode
        1. The IDE
        2. Workspace Window
        3. Preferences
        4. Developer Documentation
        5. Editors
        6. Project Settings
        7. Schemes
        8. Organizer
        9. Other Xcode Tools
        10. Summary
      3. 3. Get Started with Interface Builder
        1. Interface Builder
        2. How Does IB Work?
        3. Getting Hands-On Practice with IB
        4. Connecting Your NIB to Your Code
        5. Storyboards
        6. Summary
      4. 4. Getting Started with Objective-C
        1. What Is Objective-C?
        2. Hands-On Practice with Objective-C
        3. Memory Management
        4. Summary
      5. 5. Getting Started with Cocoa
        1. The Cocoa Stack
        2. Foundation
        3. UIKit
        4. Common Design Patterns in Cocoa
        5. Summary
      6. 6. Provisioning Your iPad
        1. About the iOS Provisioning Portal
        2. The Provisioning Process: A Brief Overview
        3. Setting Up Your Development Machine
        4. Setting Up Your Device
        5. Using the iOS Provisioning Portal
        6. Summary
      7. 7. App Design
        1. Defining Your App
        2. A Sample App Charter
        3. UI Design Considerations
        4. Mockups
        5. Prototyping
        6. Summary
    15. Part II: Building PhotoWheel
      1. 8. Creating a Master-Detail App
        1. Building a Prototype App
        2. A Closer Look
        3. A Tour of UISplitViewController
        4. Summary
        5. Exercises
      2. 9. Using Table Views
        1. First Things First
        2. A Closer Look
        3. Working with a Table View
        4. Summary
        5. Exercises
      3. 10. Using Collection and Custom Views
        1. Collection Views
        2. Custom Views
        3. A Wheel View
        4. A Carousel View
        5. A Photo Wheel View Cell
        6. Summary
        7. Exercises
      4. 11. Using Touch Gestures
        1. Touch Gestures Explained
        2. Custom Touch Gestures
        3. Summary
        4. Exercises
      5. 12. Adding Photos
        1. Two Approaches
        2. Using the Image Picker Controller
        3. Summary
        4. Exercises
      6. 13. Data Persistence
        1. The Data Model
        2. Building the Model with Core Data
        3. Using Core Data in PhotoWheel
        4. Adding Custom Code to Model Objects
        5. Using SQLite Directly
        6. Summary
        7. Exercises
      7. 14. Storyboarding in Xcode
        1. What Is a Storyboard?
        2. Storyboarding PhotoWheel
        3. Summary
        4. Exercises
      8. 15. View Controllers and Segues
        1. Implementing a View Controller
        2. Container View Controllers
        3. Segue
        4. Customizing the Pop Transitions
        5. Summary
        6. Exercises
      9. 16. Building the Main Screen
        1. Reusing Prototype Code
        2. Displaying Photo Albums
        3. Managing Photo Albums
        4. A Better Photo Album Thumbnail
        5. Adding Photos
        6. Displaying Photos
        7. Summary
        8. Exercises
      10. 17. Creating a Photo Browser
        1. Using the Scroll View
        2. Launching the Photo Browser
        3. Adding Chrome Effects
        4. Zooming
        5. Deleting a Photo
        6. Summary
        7. Exercise
      11. 18. Supporting Device Rotation
        1. How to Support Rotation
        2. Customized Rotation
        3. Launch Images
        4. Summary
        5. Exercises
      12. 19. Printing with AirPrint
        1. How Printing Works
        2. Adding Printing to PhotoWheel
        3. Summary
        4. Exercises
      13. 20. Sharing with Others
        1. Sending Email
        2. Activity View Controller
        3. Summary
        4. Exercises
      14. 21. Web Services
        1. The Basics
        2. Flickr
        3. One More Thing
        4. What’s Missing
        5. Summary
        6. Exercises
      15. 22. Syncing with iCloud
        1. Syncing Made Simple
        2. iCloud Concepts
        3. Device Provisioning, Revisited
        4. iCloud Considerations for PhotoWheel
        5. Updating PhotoWheel for iCloud
        6. Syncing Photos with iCloud
        7. Going Further with iCloud
        8. Summary
        9. Exercises
      16. 23. Producing a Slideshow with AirPlay
        1. External Display Options
        2. App Requirements for External Displays
        3. External Display API
        4. Attaching an External Display
        5. Adding a Slideshow to PhotoWheel
        6. Managing External Displays
        7. Advancing to the Next Photo
        8. Adding Slideshow User Interface Controls
        9. Updating the Photo Browser
        10. Finishing Up
        11. Summary
        12. Exercises
      17. 24. Visual Effects with Core Image
        1. Core Image Concepts
        2. Introducing CIFilter
        3. Image Analysis
        4. Adding Core Image Effects to PhotoWheel
        5. Summary
        6. Exercises
      18. 25. Going Universal
        1. Why Go Universal?
        2. Making a Universal App
        3. Pitfalls
        4. Summary
        5. Exercises
    16. Part III: The Finishing Touches
      1. 26. Debugging
        1. Understand the Problem
        2. Debugging Concepts
        3. Debugging in Xcode
        4. Debugging Example: External Display Code
        5. When You Really Need NSLog
        6. Profiling Code with Instruments
        7. Summary
      2. 27. Distributing Your App
        1. Distribution Methods
        2. Building for Ad Hoc Distribution
        3. Building for App Store Distribution
        4. The App Store Process
        5. App Information for the App Store
        6. App Store Assets
        7. Using iTunes Connect
        8. Submitting the App
        9. Going Further
        10. Summary
      3. 28. The Final Word
        1. What’s Next
    17. A. Installing the Developer Tools
      1. Membership Has Its Privileges
      2. Joining the iOS Developer Program
      3. Which Program Type Is Right for You?
      4. What You Need to Register
      5. Installing Xcode
    18. Index