You are previewing iPhone App Development: The Missing Manual.
O'Reilly logo
iPhone App Development: The Missing Manual

Book Description

Ready to create your own iPhone app? This book walks you through the entire iPhone app development process. You'll learn how to download the tools, build the app, successfully navigate Apple's approval process, and then market and maintain the finished product. Written by Mac guru Craig Hockenberry, creator of the wildly popular Twitterific iPhone app, iPhone App Development: The Missing Manual includes illustrated, step-by-step tutorials and real-world examples.

Table of Contents

  1. Special Upgrade Offer
  2. A Note Regarding Supplemental Files
  3. The Missing Credits
    1. About the Author
    2. About the Creative Team
    3. Acknowledgements
    4. The Missing Manual Series
  4. Introduction
    1. The App Store
    2. About This Book
      1. About the Outline
    3. The Very Basics
      1. About→These→Arrows
      2. Living Examples
      3. About MissingManuals.com
      4. Safari® Books Online
  5. One. Getting Started with Cocoa Touch
    1. 1. Building Your First iPhone App
      1. Getting the Tools
        1. Installing Xcode
        2. Getting the iPhone SDK
        3. What Lies Ahead for the SDK?
      2. Exploring Your New Tools
        1. Every Flashlight Needs a Parts List
        2. Some Assembly Required
        3. Taking It for a Run on Your Mac
        4. Revision Decision
    2. 2. The Power of Brackets
      1. Objective-C: The Nuts and Bolts for Your iPhone App
        1. The Land of Square Brackets
      2. The Object of It All
        1. Telling Your Objects to Do Things
      3. Masses of Classes
        1. Classes in Detail
          1. One class to rule them all
          2. Follow the protocol
      4. The Methods Behind the Madness
        1. Categorically Speaking
        2. Implementation: The Brains Behind the Beauty
      5. Creating New Classes
      6. Managing Memory
        1. Take a nil Pill
        2. Autorelease with Ease
        3. Properties and Dots
      7. Methods of Class
      8. Initializing Objects
        1. Deallocation Location
          1. Manual override
      9. Loops: For Better or For Worse
      10. Your Exceptional Code
        1. Learn by Crashing
      11. Selector Projector
      12. Show Your id
      13. Where to Go from Here
        1. Developer Documentation
          1. Results list
          2. Documentation page view
          3. Type less, learn more
          4. Context menu
          5. Clicks ahoy!
        2. Learn to Be Lazy
    3. 3. Cocoa Touch: Putting Objective-C to Work
      1. Get in Cocoa Touch
      2. The Big Three: Models, Views, Controllers
        1. Views
        2. Models
        3. Controllers
      3. Value Objects
        1. Let’s Get Primitive
        2. Objectified
          1. NSString
          2. NSNumber
          3. NSDate
          4. NSData
          5. NSNull
          6. NSValue
      4. Collections
        1. Copying in Depth
        2. Property Lists
      5. Mutable Versus Immutable
        1. Make It Mutable
        2. Protect Your Data
      6. Delegation and Data Sources
      7. Targets and Actions
        1. User Interface: The Hard Way
          1. Along the way
          2. The magical way
        2. User Interface: The Easy Way
          1. A head start
          2. Your first view
          3. You’re in control
            1. Get a Little Action
          4. Squash those bugs
      8. Notifications
      9. Singletons
        1. Singletons as Globals
      10. Where to Go from Here
        1. The Language of Design
    4. 4. Design Tools: Building a Better Flashlight
      1. Plan Before You Code
        1. Why Call in a Designer?
        2. Design Goals
        3. What’s Unique about iPhone Design?
          1. Let’s get physical
          2. The Internet in your pants
          3. Size matters
          4. Keep it simple
        4. The Design Process
          1. A paper prototype
          2. A pencil and paper and…
          3. Make it pretty
          4. A first impression
          5. How does it feel?
        5. Living in Harmony with Your Designer
          1. Finding a common ground
          2. Give the designer control
      2. Feedback: Don’t Take Your Own Word for It
        1. The Providers of Feedback
          1. You
          2. Your marketing department
          3. The people who plunked down their credit cards
        2. Flashlight 2.0
      3. Bigger, Stronger, Faster
        1. The Light Side
        2. The Flip Side
        3. The Drawing Board
      4. Technical Design: Between Pictures and Code
        1. Start Naming
          1. First light
          2. The dimmer switch
      5. Where to Go from Here
        1. Ready to Code!
  6. Two. Development in Depth
    1. 5. Getting Serious about Development
      1. Beyond the Template
        1. Pick Your SDK
        2. Change Project Settings
        3. Change Target Settings
          1. What’s in a name?
          2. Identify yourself
          3. Choose a distinctive icon
        4. Build Settings
          1. Configurations
        5. Duplicity
      2. Make It Official
        1. Join the iPhone Developer Program
          1. Choose your program
          2. Pay to play
          3. Welcome to the club
        2. Open the Door
          1. What code signing means to you
          2. Keychain setup
          3. Provisions
        3. When It Fails
          1. Code signing
          2. Device provisioning
          3. Other problems
        4. You’re Now Mobile
        5. Ready to Roll
    2. 6. A Flashlight for Pros
      1. A Guided Tour
        1. Where to Start?
      2. Open the Guide Book
        1. Flashlight_ProAppDelegate
          1. UIApplication
          2. UIScreen
          3. Windows and views
      3. NIB Files: Something to Look At
        1. MainWindow.xib
        2. MainView.xib
          1. File’s Owner
          2. Views upon views
          3. Custom views
        3. View Sizing
        4. Autoresizing
        5. SettingsView.xib
          1. Opacity
          2. The sliders
        6. AboutView.xib
      4. Refine the Look
        1. LightView
          1. Delegation
          2. Enumeration
          3. Class extensions for private methods
          4. Catching view property changes
          5. View animation
        2. IFInfoView
          1. Name
          2. View setup
          3. Drawing in code
          4. Color filling
          5. Gradients
          6. A path to greatness
          7. Half a pixel matters
          8. Text drawing
          9. Image drawing
      5. Making Cocoa Touch Your Own
        1. UIColor+Brightness
          1. Naming conventions
          2. Wrapping it up
        2. UIView+Brightness
        3. UIView+Concealed
          1. A new property
          2. View coordinates
          3. More view animation
          4. Progressive methods
          5. A new feature
      6. Fashion Your Models
        1. SOSModel
          1. Notifications
          2. Private property
        2. FlashlightModel
          1. Read-only properties
          2. Class statics
          3. User defaults
          4. Strings in user interfaces
      7. Pull Yourself Together
        1. MainViewController
          1. Notifications
          2. Sounds
          3. Being a delegate
          4. One view, two identities
          5. Alert views
          6. Action sheets
        2. SettingsViewController
          1. Coming to life
          2. Sharing a model
          3. Flipping out and in
          4. Interface Builder can’t do it all
          5. Stretchable images
          6. Localization
        3. AboutViewController
          1. Which version?
          2. A different approach to animation
      8. Localized Languages: Capisce?
        1. Localizable.strings
          1. Localization logistics
          2. Layout breakage
        2. AboutView.xib
        3. Wrapping It Up
  7. Three. The Business End
    1. 7. Finishing Touches
      1. Beta Testing
        1. Your App Works for You…But
          1. Users find the darnedest things
          2. Flashlight improvements
        2. Ad Hoc & Roll
          1. Gather your testers
          2. Distribution
          3. Entitlements
          4. Build and send
          5. Install
      2. Clean Up Your Act
        1. Beautification Committee
        2. Speaking in Tongues
      3. Web Development
        1. The Site
          1. Content
          2. Movies
          3. Tracking
      4. App Store, Here You Come
    2. 8. For Sale
      1. Sign on the Dotted Line
        1. Welcome
        2. First Order of Business
          1. Contracts
          2. Contact info
          3. Bank info
          4. Tax info
          5. Final approval
      2. Stake Your Claim
        1. Export Compliance
        2. Overview
          1. Application Name
          2. Application Description
          3. Device Capabilities
          4. Categories
          5. Copyright and Version
          6. SKU Number
          7. Keywords
          8. URLs and Email
          9. Demo Account
          10. EULA
          11. Before moving on
        3. Ratings
        4. Upload—Show It Off
          1. Application binary
          2. Application icon
          3. Screenshots
        5. Pricing—Pick Your Price
          1. Availability Date
          2. Price Tier
        6. Localization
        7. Review
        8. Tweak It
      3. The Market
        1. Metrics
          1. Surprise! Apple is secretive
          2. Third-party research
          3. User demographics
        2. Competition
          1. Running up the charts
          2. Press
        3. Two Developers, One Store
          1. Look at the music business
          2. Choose your customers
          3. High roller
        4. Pricing Strategies
          1. A cup of coffee
          2. What kind of product is it?
        5. Try Before You Buy
          1. Incentives
          2. Conversion rates
          3. Free to paid
      4. Upload
        1. The Final Profile
        2. The Final Target
        3. The Final Build
        4. The Final Upload
        5. The Final Test
        6. The First Promotion
      5. App Review
        1. Make Sure You Haven’t Broken Any Rules
        2. Coping with Rejection
      6. Ready for Sale
        1. Launch Day
    3. 9. You’ve Got Customers!
      1. Tracking Sales
        1. Daily Reports
          1. Web-based solutions
          2. iPhone apps
          3. Desktop application
          4. Guesstimation
        2. Monthly Financial Reports
        3. Getting Paid
      2. Advertising and Promotion
        1. Press Release
        2. Find a Mouth
        3. Social Networking: Word-of-Mouth on Steroids
          1. The Net works
            1. Give customers something to talk about
          2. It’s a conversation
        4. The Big Bang
          1. Spreading like wildfire
        5. Online Advertising
          1. Budget
          2. Impression-based advertising
          3. Click-based advertising
          4. Flat rate
          5. Sponsorship
          6. Branding
        6. Promotion Codes
          1. Strings attached
          2. Replenishment
        7. Sale Prices
          1. Eddie’s not really crazy
          2. Let people know
        8. Plotting It Out
        9. Monitor Coverage
          1. Ranking
          2. Google
          3. Get rich clicks
            1. Signup
          4. Creating links
          5. Monitor activity
          6. Gathering intelligence
      3. Customer Support
        1. Everything Is Perfekt
        2. Crash Course
        3. Dealing with Support Email
      4. Product Updates
        1. New Info
        2. Welcome Back, iTunes
        3. Upgrades (or Lack Thereof)
        4. Congratulations!
  8. Four. Appendix
    1. A. Where to Go from Here
      1. Help with Objective-C
        1. Books
        2. Web
      2. Help with Cocoa
        1. Books
        2. Web
        3. Discussion
      3. Help with iPhone SDK
        1. Books
        2. Web
        3. Discussion
      4. Help with Interface Design
        1. Books
      5. Help with Xcode
        1. Web
      6. Help with Web Development
        1. Web
        2. Discussion
      7. Keeping Up with News and Business
        1. Books
        2. Web
        3. Discussion
      8. Open Source Resources
  9. Index
  10. About the Author
  11. Special Upgrade Offer
  12. Copyright