You are previewing iPhone and iPad Apps for Absolute Beginners.
O'Reilly logo
iPhone and iPad Apps for Absolute Beginners

Book Description

The iPhone is the hottest gadget of our generation, and much of its success has been fueled by the App Store, Apple's online marketplace for iPhone applications. Over 1 billion apps have been downloaded in the 9 months the App Store has been open, ranging from the simplest games to the most complex business apps. Everyone has an idea for the next best-selling iPhone app—presumably that's why you're reading this now. And with the release of the iPad, this demand will just continue to grow.

So how do you build an application for the iPhone and iPad? Don't you need to spend years learning complicated programming languages? What about Objective-C, Cocoa Touch, and the SDK? The answer is that you don't need to know any of those things. Anybody can start building simple applications for the iPhone and iPad, and this book will show you how.

This book takes you to getting your first applications up and running using plain English and practical examples. It cuts through the fog of jargon and misinformation that surrounds iPhone and iPad application development, and gives you simple, step-by-step instructions to get you started.

  • Teaches iPhone and iPad application development in language anyone can understand

  • Provides simple, step-by-step examples that make learning easy

  • Offers videos that enable you to follow along with the author—it's like your own private classroom

Table of Contents

  1. Copyright
  2. Foreword: About the Author
    1. Why you'll relate to Dr. Lewis
    2. Fast-Forward 17 Years
    3. Past—Present—Future
    4. Why Write This Book?
  3. About the Contributing Authors
  4. About the Technical Reviewer
  5. Acknowledgments
  6. Preface
    1. What This Book Will Do For You
    2. The Approach I Take
  7. 1. Before We Get Started
    1. 1.1. Necessities and Accessories
    2. 1.2. What I Won't Teach You
      1. 1.2.1. Computer Science: A Broad and Diverse Landscape
        1. 1.2.1.1. Why Purgatory Exists In Objective-C
        2. 1.2.1.2. Houston, We Have a Problem
        3. 1.2.1.3. How We'll Visit Purgatory Every Now and Again
        4. 1.2.1.4. Looking Forward ... Beginning iPhone 3 Development: Exploring the iPhone SDK
    3. 1.3. What You Will Learn
      1. 1.3.1.
        1. 1.3.1.1. Creating Cool and Wacky Apps: Why I Teach This Way
        2. 1.3.1.2. Evangelizing to Your Grandmother ... What You Coded Is Crucial!
    4. 1.4. How Does This All Work?
      1. 1.4.1. Our Road Map: Using Xcode and Interface Builder
        1. 1.4.1.1. Getting Ready For Your First iPhone/iPad Project
        2. 1.4.1.2. The Accompanying Screencasts
        3. 1.4.1.3. The Accompanying PDFs
        4. 1.4.1.4. Pretending Not to Know: The Art of De-Obfuscation
        5. 1.4.1.5. How We'll Travel Through Each Step
  8. 2. Blast-Off!
    1. 2.1. helloWorld_002 - a Navigation-based Application
    2. 2.2. helloWorld_003 - Modifying a Navigation-based App
  9. 3. What's Next?
    1. 3.1. §I: THE ROAD AHEAD
      1. 3.1.1. Introducing Chapter 4—An Introduction to the Code
      2. 3.1.2. Introducing Chapter 5—Buttons & Labels with Multiple Graphics
      3. 3.1.3. Introducing Chapter 6—Switch View with Multiple Graphics
      4. 3.1.4. Introducing Chapter 7—Dragging, Rotating, and Scaling
      5. 3.1.5. Introducing Chapter 8—Table Views, Navigation, and Arrays
      6. 3.1.6. Introducing Chapter 9—MapKit
    2. 3.2. §II: THE iPHONE AND THE iPAD
      1. 3.2.1.
        1. 3.2.1.1. Do Apps Run on Both the iPad and the iPhone?
        2. 3.2.1.2. More Screen Space
        3. 3.2.1.3. Master-Detail
        4. 3.2.1.4. User Interface on iPad
        5. 3.2.1.5. Checking the Platform
        6. 3.2.1.6. Compatibility
    3. 3.3. §III: A LOOK UNDER THE HOOD
      1. 3.3.1. You've Said "Hello!" ... but now, INDIO!
        1. 3.3.1.1. Model-View-Controller
  10. 4. An Introduction to the Code
    1. 4.1. 004_helloWorld: Buttons with Graphics
    2. 4.2. Digging the Code
      1. 4.2.1. Nibs, Zibs, and Xibs
      2. 4.2.2. Methods
  11. 5. Buttons & Labels with Multiple Graphics
    1. 5.1. helloWorld_005: a View-Based Application
      1. 5.1.1. Preliminaries
      2. 5.1.2. Xcode - Beginning a New Project
      3. 5.1.3. Understanding IBOutlets
      4. 5.1.4. Pointers
      5. 5.1.5. Properties: Management & Control
      6. 5.1.6. Adding IBActions
      7. 5.1.7. Coding the Implementation File
      8. 5.1.8. Providing for Synthesis
      9. 5.1.9. Interface Builder: Making the Connections
      10. 5.1.10. Final Step: File's Owner & uiImageView
    2. 5.2. Digging the Code
      1. 5.2.1. IBOutlets and IBActions
      2. 5.2.2. More About Pointers
    3. 5.3. In the Chapter Ahead
  12. 6. Switch View with Multiple Graphics
    1. 6.1.
      1. 6.1.1.
        1. 6.1.1.1. Before We Begin
    2. 6.2. einSwitch_001—a Window-Based Application
      1. 6.2.1. Preliminaries
      2. 6.2.2. Name your Project "einSwitch01"
      3. 6.2.3. Create the 1st UIViewController Subclass
      4. 6.2.4. Create the Ein1Controller
      5. 6.2.5. Check Header and Implementation Files
      6. 6.2.6. Create the Ein2Controller
      7. 6.2.7. Make Sure Images Are Embedded
      8. 6.2.8. Save Einstein2View.xib
      9. 6.2.9. Drag the Images into Xcode
      10. 6.2.10. Assign your Icon in the "plist"
      11. 6.2.11. Code the AppViewDelegate
      12. 6.2.12. Working SwitchView
      13. 6.2.13. SwitchViewController and AppDelegate
      14. 6.2.14. SwitchViewController Header File
      15. 6.2.15. Ready for Lazy Load–Implementation File
      16. 6.2.16. A Note about Comments and Lazy Loads
      17. 6.2.17. Copy Contents of SwitchViewController.txt
      18. 6.2.18. A Note about Apple's Boilerplate Implementation File
      19. 6.2.19. Working on the .xib Files
      20. 6.2.20. Select the File's Owner
      21. 6.2.21. Drag a View onto the Screen
      22. 6.2.22. Start Working on the Einstein#View.xib Files
      23. 6.2.23. Repeat Process for Second Image
    3. 6.3. einSwitch_002—a Tab-Bar Application
    4. 6.4. einSwitch_003—a Window-Based Application
    5. 6.5. Digging ... Your Brain
  13. 7. Dragging, Rotating, and Scaling
    1. 7.1. DragRotateAndScale—a View-Based Application
      1. 7.1.1. Preliminaries
      2. 7.1.2. Starting the DragRotateAndScale App
      3. 7.1.3. Creating a Custom UIImageView Subclass
      4. 7.1.4. Overriding – initWithImage in TransformView.m
      5. 7.1.5. Creating Touch-Handling Stubs
      6. 7.1.6. Translating in touchesMoved
      7. 7.1.7. Making Use of TransformView
      8. 7.1.8. Creating a TransformView
      9. 7.1.9. Preparing TransformView for Rotation and Scaling
      10. 7.1.10. Helper Methods
      11. 7.1.11. Adding to "-touchesBegan"
      12. 7.1.12. Modifying -touchesMoved
    2. 7.2. Digging the Code
      1. 7.2.1. Gesture Support and the iPad
  14. 8. Table Views, Navigation, and Arrays
    1. 8.1. How Shall We Proceed?
    2. 8.2. Table Views and Navigation Stacks
    3. 8.3. Food: Following the App Store Model
      1. 8.3.1. Starting the Food App
      2. 8.3.2. Adding the Category Names Array in RootViewController.h
      3. 8.3.3. Creating the Categories Array in -viewDidLoad
      4. 8.3.4. Setting Up Table View Data Source Methods
      5. 8.3.5. Table View Delegation
      6. 8.3.6. Setting up FoodTableViewController
      7. 8.3.7. Creating the Convenience Constructor for the FoodTableViewController
      8. 8.3.8. Data Source and Delegation for the FoodTableViewController
      9. 8.3.9. Creating the FoodViewController Class
      10. 8.3.10. The FoodViewController Header File
      11. 8.3.11. The FoodViewController Convenience Constructor
      12. 8.3.12. Setting Up FoodViewController, -viewDidLoad, and the (.xib)
      13. 8.3.13. Icon File
      14. 8.3.14. Testing the App
    4. 8.4. Digging the Code
      1. 8.4.1. Memory Management
      2. 8.4.2. Reuse Identifiers
  15. 9. MapKit
    1. 9.1. A Little about Frameworks
    2. 9.2. Important Things to Know
    3. 9.3. Preinstalled MapKit Apps
      1. 9.3.1. Find Locations
      2. 9.3.2. Get Directions
      3. 9.3.3. See Which Way You're Facing
      4. 9.3.4. See Traffic
      5. 9.3.5. Search for a Location
      6. 9.3.6. Change Your View
    4. 9.4. Cool and Popular MapKit Apps to Inspire You
    5. 9.5. MapKit_01: A View-Based Application
      1. 9.5.1. Possible Prepping for the App
    6. 9.6. Preliminaries
    7. 9.7. A New View-Based Template
      1. 9.7.1. Adding the Annotation File
      2. 9.7.2. It's Already Working!
      3. 9.7.3. Check It Out—the iPad Simulator
      4. 9.7.4. Make It Look a Little Bit Better
      5. 9.7.5. Dealing with the Implementation
      6. 9.7.6. Coding the myPos.h File
      7. 9.7.7. The myPos.m File
      8. 9.7.8. The AppDelegate Files
      9. 9.7.9. Connect MapView with MKMapView
    8. 9.8. Digging My Students' MapKit Code
      1. 9.8.1. Parsing to MapKit from the Internet
      2. 9.8.2. MapKit Parsing
      3. 9.8.3. Three MapKit Final Projects: CS-201 iPhone Apps, Objective-C
        1. 9.8.3.1. Biographical Info—Examples 1 & 2
        2. 9.8.3.2. Final Project—Example 3
    9. 9.9. Zoom Out ... Seeing the Big Picture