You are previewing Learn iOS 7 App Development.
O'Reilly logo
Learn iOS 7 App Development

Book Description

Learn iOS App Development is both a rapid tutorial and a useful reference. You'll quickly get up to speed with Objective-C, Cocoa Touch, and the iOS 7 SDK. It's an all-in-one getting started guide to building your first iPhone or iPad app. You'll learn best practices that ensure your code will be efficient and perform well, earning positive reviews on the iTunes App Store, and driving better search results and more revenue.

The iOS 7 SDK offers powerful new features, and this book is the fastest path to mastering them—and the rest of the iOS SDK —for programmers with some experience who are new to iPhone and iPad app development. Many books introduce the iOS SDK, but few explain how to develop apps optimally and soundly. This book teaches both core Objective-C language concepts and how to exploit design patterns and logic with the iOS SDK, based on Objective-C and the Cocoa Touch framework.

Why spend months or years discovering the best ways to design and code iPhone and iPad apps when this book will show you how to do things the right way from the start?

  • Get an accelerated treatment of the core fundamentals of Objective-C.

  • Develop your first app using Xcode's advanced interface design tools.

  • Build your first iPhone app using the code that you're given as you walk through this book.

  • Finally, debug and distribute your first app on Apple's iTunes App Store.

Learn how to create apps for any model of iPhone, the iPod Touch, the iPad, or build universal apps that run on all of them. After reading this book, you'll be creating professional quality apps, ready to upload to the app store, making you the prestige and the money you seek!

What you'll learn

  • Develop simple to moderately complex iOS apps.

  • Add sound and iPod music playback, the camera, and photos to your app.

  • Connect your app to the world through internet services, peer-to-peer networking, social networking, and cloud synchronization.

  • Plug into the latest mobile technologies: maps, GPS, accelerometer, gyroscope, and compass.

  • Polish your apps with elegant animation and effortless navigation.

  • Improve your app's quality with core design patterns and best programming practices.

Who this book is for

This book requires no prior iPhone or iOS app coding experience, but some comfort with programming in general is assumed.

Table of Contents

  1. Title Page
  2. Dedication
  3. Contents at a Glance
  4. Contents
  5. About the Author
  6. About the Technical Reviewer
  7. Acknowledgments
  8. Introduction
  9. Chapter 1: Got Tools?
    1. Requirements
    2. Installing Xcode
    3. What is Xcode?
    4. Becoming an iOS Developer
    5. Getting the Projects
    6. Launching Xcode the First Time
    7. Welcome To Xcode
    8. Running Your First App
    9. Summary
  10. Chapter 2: Boom! App
    1. Design
    2. Creating the Project
    3. Setting Project Properties
    4. Building an Interface
    5. Using Storyboards
    6. Testing Your Interface
    7. Finishing Your App
    8. Debugging Your App
    9. Summary
  11. Chapter 3: Spin a Web
    1. Design
    2. Creating the Project
    3. Building a Web Browser
    4. Coding a Web Browser
    5. Adding URL Shortening
    6. Final Touches
    7. Summary
  12. Chapter 4: Coming Events
    1. Run Loop
    2. Event Queue
    3. Event Delivery
    4. Event Handling
    5. The Responder Chain
    6. High- vs. Low-Level Events
    7. Eight Ball
    8. Testing on a Physical iOS Device
    9. Other Uses for The Responder Chain
    10. Touchy
    11. Advanced Event Handling
    12. Summary
  13. Chapter 5: Table Manners
    1. Table Views
    2. How Table Views Work
    3. MyStuff
    4. Adding the Detail View
    5. Editing
    6. Modal vs. Modeless Editing
    7. Little Touches
    8. Advanced Table View Topics
    9. Summary
  14. Chapter 6: Object Lesson
    1. Two Houses, Both Alike in Dignity
    2. Romeo Meets Juliet
    3. Classes and Cookies
    4. Classes and Objects and Methods, Oh My!
    5. Inheritance
    6. Design Patterns and Principles
    7. Summary
  15. Chapter 7: Smile!
    1. Design
    2. Extending Your Design
    3. Taking Pictures
    4. Building the iPad Interface
    5. Sticky Keyboards
    6. Advanced Camera Techniques
    7. Summary
  16. Chapter 8: Model Citizen
    1. The Model-View-Controller Design Pattern
    2. Color Model
    3. Having Multiple Views
    4. Consolidating Updates
    5. Complex View Objects
    6. Being a K-V Observer
    7. Multi-Vector Data Model Changes
    8. Cheating
    9. Summary
  17. Chapter 9: Sweet, Sweet Music
    1. Making Your Own iPod
    2. Make Some Noise
    3. Interruptions and Detours
    4. Other Audio Topics
    5. Summary
  18. Chapter 10: Got Views?
    1. Learning by Example
    2. Buttons
    3. Switches and Sliders
    4. Page Control
    5. Steppers
    6. Segmented Controls
    7. Progress Indicators
    8. Text Views
    9. Pickers
    10. Image Views
    11. Grouped Tables
    12. The View You Never See
    13. Summary
  19. Chapter 11: Draw Me a Picture
    1. Creating a Custom View Class
    2. Shapely
    3. Transforms
    4. Animation: It’s Not Just for Manga
    5. The Order of Things
    6. Images and Bitmaps
    7. Advanced Graphics
    8. Summary
  20. Chapter 12: There and Back Again
    1. Measure Twice, Cut Once
    2. Designing Wonderland
    3. Creating Wonderland
    4. The First Content View Controller
    5. Creating a Navigable Table View
    6. Creating a Page View Controller
    7. Using Pop-Over Controllers
    8. Advanced Navigation
    9. Summary
  21. Chapter 13: Networking, the Social Kind
    1. Color My (Social) World
    2. Sharing More
    3. The Curse of the Lowest Common Denominator
    4. Sharing with Specific Services
    5. Other Social Network Interactions
    6. Summary
  22. Chapter 14: Networking, The Nerdy Kind
    1. SunTouch
    2. Creating the Single Player Version
    3. Plugging into Game Center
    4. Peer-To-Peer Networking
    5. Advanced Networking
    6. One Last Detail
    7. Summary
  23. Chapter 15: If You Build It . . .
    1. How Interface Builder Files Work
    2. Taking Control of Interface Builder Files
    3. Summary
  24. Chapter 16: Apps with Attitude
    1. Leveler
    2. Getting Motion Data
    3. Getting Other Kinds of Motion Data
    4. Summary
  25. Chapter 17: Where Are You?
    1. Creating Pigeon
    2. Collecting Location Data
    3. Using a Map View
    4. Decorating Your Map
    5. Pointing the Way
    6. Location Monitoring
    7. Geocoding
    8. Getting Directions
    9. Summary
  26. Chapter 18: Remember Me?
    1. Property Lists
    2. Serializing Property Lists
    3. User Defaults
    4. Making Pigeon Remember
    5. Registering Default Values
    6. Turning Objects into Property List Objects
    7. Persistent Views
    8. Pigeons in the Cloud
    9. Bundle Up Your Settings
    10. Summary
  27. Chapter 19: Doc, You Meant Storage
    1. Document Overview
    2. Where, Oh Where, Do My Documents Go?
    3. MyStuff on Documents
    4. Supplying Your Document’s Data
    5. Archiving Objects
    6. Document, Your Data Model
    7. Tracking Changes
    8. Testing Your Document
    9. Storing Image Files
    10. Odds and Ends
    11. Summary
  28. Chapter 20: Being Objective
    1. Objective‑C is C
    2. Objective‑C Classes
    3. Method Names
    4. Properties
    5. Introspection
    6. Protocols
    7. Categories
    8. nil is Your Friend
    9. Copying Objects
    10. Attributed Strings
    11. Collections
    12. Shortcuts
    13. Summary
  29. Chapter 21: The Elephant in the Room
    1. Memory Management
    2. Your Grandfather’s Memory Management
    3. Garbage Collection
    4. Reference Counting
    5. Manual Reference Counting
    6. Automatic Reference Counting
    7. Summary
  30. Chapter 22: Êtes-vous Polyglotte?
    1. The Localization Process
    2. Language Bundles
    3. Localize Now!
    4. Internationalizing Your App
    5. Localizing Interfaces Using Localizable Strings
    6. Localizing Settings.bundle
    7. Other Code Considerations
    8. Localizing Your App’s Name
    9. Summary
  31. Chapter 23: Faster, Faster
    1. Performance Optimization
    2. Fixing a Slow Tap
    3. Finding the Hot Spots
    4. Precious Memory
    5. Summary
  32. Chapter 24: Twice As Nice
    1. Concurrent Programming
    2. Running Multiple Threads
    3. Execution Order
    4. Thread Safety
    5. Concurrency Roundup
    6. Summary
  33. Index