You are previewing More iOS 6 Development: Further Explorations of the iOS SDK.
O'Reilly logo
More iOS 6 Development: Further Explorations of the iOS SDK

Book Description

Interested in iPhone and iPad apps development? Want to learn more? Whether you're a self-taught iPhone and iPad apps development genius or have just made your way through the pages of Beginning iOS 6 Development, we have the perfect book for you.

More iOS 6 Development: Further Explorations of the iOS SDK digs deeper into Apple's latest iOS 6 SDK. Bestselling authors Dave Mark, Alex Horovitz, Kevin Kim and Jeff LaMarche explain concepts as only they can—covering topics like Core Data, peer-to-peer networking using GameKit and network streams, working with data from the web, MapKit, in-application e-mail, and more. All the concepts and APIs are clearly presented with code snippets you can customize and use, as you like, in your own apps.

If you are going to write a professional iPhone or iPad app, you'll want to get your arms around Core Data, and there's no better place to do so than in the pages of this book. The book continues right where Beginning iOS 6 Development leaves off, with a series of chapters devoted to Core Data, the standard for Apple persistence. Dave, Alex, Kevin and Jeff carefully step through each Core Data concept and show techniques and tips specifically for writing larger apps—offering a breadth of coverage you won't find anywhere else.

The Core Data coverage alone is worth the price of admission. But there's so much more! More iOS 6 Development covers a variety of networking mechanisms, from GameKit's relatively simple BlueTooth peer-to-peer model, to the addition of Bonjour discovery and network streams, through the complexity of accessing files via the web.

Dave, Alex, Kevin, and Jeff will also take you through coverage of concurrent programming and some advanced techniques for debugging your applications. The enhanced multitasking, threading, memory management and more are important. Apps are getting more and more complex, including sophisticated game apps that offer virtual or augmented reality experiences and new mapping views that take advantage of sensors and other APIs in the newest iOS 6 SDK.

Whether you are a relative newcomer to iPhone and iPad or iOS development or an old hand looking to expand your horizons, there's something for everyone in More iOS 6 Development.

What you'll learn

  • All about Core Data: key concepts and techniques for writing larger applications

  • How to utilize a variety of networking mechanisms, including peer-to-peer connections over Bluetooth using GameKit

  • Details on the addition of Bonjour discovery and network streams

  • How to embed maps with Map Kit and use in-application email

  • How to access a user's iPod library and integrate music into apps

  • Essentials of concurrent programming and advanced debugging techniques

  • How to work with enhanced multitasking, threading, memory management and other APIs

  • Tips on working with data from the web and the cloud, including Apple's iCloud

  • How to work with the iOS 6 SDK when dealing with sensors, gyroscopes, etc. for augmented reality experiences in game and socia media apps

Who this book is for

All iPhone, iPod touch, and iPad app developers, especially developers already familiar with the basics of Apple's iPhone SDKs and who have read the previous volume, Beginning iOS 6 Development.

Table of Contents

  1. Title
  2. Dedication
  3. Contents at a Glance
  4. Contents
  5. About the Authors
  6. About the Technical Reviewer
  7. Acknowledgments
  8. Chapter 1: Here We Go Round Again
    1. What This Book Is
    2. What You Need To Know
    3. What You Need Before You Can Begin
    4. What’s In this Book
  9. Chapter 2: Core Data: What, Why, and How
    1. A Brief History of Core Data
    2. Creating a Core Data Application
    3. Core Data Concepts and Terminology
    4. The Data Model
    5. Managed Objects
    6. Key-Value Coding
    7. Managed Object Context
    8. Putting Everything in Context
  10. Chapter 3: A Super Start: Adding, Displaying, and Deleting Data
    1. Setting up the Xcode Project
    2. Application Architecture
    3. Designing the View Controller Interface
    4. Creating HeroListController
    5. Designing the Data Model
    6. Declaring the Fetched Results Controller
    7. Implementing the Fetched Results Controller
    8. Fetched Results Controller Delegate Methods
    9. Making All Work
    10. Let ‘Er Rip
    11. Done, but Not Done
  11. Chapter 4: The Devil in the Detail View
    1. View Implementation Choices
    2. Creating the Detail View Controller
    3. Detail View Challenges
    4. Controlling the Table Structure with Property Lists
    5. Property Lists Explained
    6. Defining the Table View via Property List
    7. Parsing the Property List
    8. Showing the Details
    9. Editing the Details
    10. Editing Mode in the Detail View
    11. Creating a Custom UITableViewCell Subclass
    12. Saving Your Changes
    13. Specialized Input Views
    14. Devil’s End
  12. Chapter 5: Preparing for Change: Migrations and Versioning
    1. About Data Models
    2. Migrations
    3. Setting Up Your App to Use Lightweight Migrations
    4. Time to Migrate On
  13. Chapter 6: Custom Managed Objects
    1. Updating the Data Model
    2. Creating the Hero Class
    3. Validation
    4. Virtual Accessors
    5. Adding Validation Feedback
    6. Updating the Detail View
    7. Refactoring SuperDBEditCell
    8. Creating a Color Table View Cell
    9. Cleaning up the Picker
    10. One More Thing
    11. Color Us Gone
  14. Chapter 7: Relationships, Fetched Properties and Expressions
    1. Expanding Your Application: Superpowers and Reports
    2. Relationships
    3. Expressions and Aggregates
    4. Adding the Power Entity
    5. Creating the Powers Relationship
    6. Creating the Inverse Relationship
    7. Creating the olderHeroes Fetched Property
    8. Creating the youngerHeroes Fetched Property
    9. Creating the sameSexHeroes Fetched Property
    10. Creating the oppositeSexHeroes Fetched Property
    11. Adding Relationships and Fetched Properties to the Hero Class
    12. Updating the Detail View
    13. Refactoring the Detail View Controller
    14. The Power View Controller
    15. Fetch Properties
    16. Wonderful to the Core
  15. Chapter 8: Behind Every iCloud
    1. Data Storage with iCloud
    2. iCloud Basics
    3. iCloud Backup
    4. Enabling iCloud in Your Application
    5. Key-Value Data Storage
    6. Document Storage
    7. Core Data with iCloud
    8. Enhancing SuperDB
  16. Chapter 9: Peer-to-Peer Over Bluetooth Using Game Kit
    1. Game Center
    2. Peer-to-Peer Connectivity
    3. In Game Voice
    4. This Chapter’s Application
    5. Network Communication Models
    6. The Game Kit Session
    7. The Peer Picker
    8. Creating the Project
    9. Trying It Out
    10. Game On!
  17. Chapter 10: Map Kit
    1. This Chapter’s Application
    2. Overview and Terminology
    3. The Map View
    4. Annotations
    5. Geocoding and Reverse Geocoding
    6. Building the MapMe Application
    7. Go East, Young Programmer
  18. Chapter 11: Messaging: Mail, SMS, and Social Media
    1. This Chapter’s Application
    2. The MessageUI Framework
    3. The Social Framework
    4. The Activity View Controller
    5. Building the MessageImage Application
    6. Mailing It In
  19. Chapter 12: Media Library Access and Playback
    1. The MediaPlayer Framework
    2. Simple Music Player
    3. MPMoviePlayerController
    4. MPMediaPlayer
    5. AVFoundation
    6. AVMediaPlayer
    7. Avast! Rough Waters Ahead!
  20. Chapter 13: Locking It Down: iOS Security
    1. Security Considerations
    2. Security Techniques
    3. Security in iOS
    4. Keychain Viewer Application
    5. Security Never Sleeps
  21. Chapter 14: Keeping Your Interface Responsive
    1. Exploring the Concurrency Problem
    2. Creating the Stalled Application
    3. Timers
    4. Fixing Stalled with a Timer
    5. Operation Queues and Concurrency
    6. Fixing Stalled with an Operation Queue
    7. Queue ’em Up
  22. Chapter 15: Unit Testing, Debugging, and Instruments
    1. Unit Tests
    2. Debugging
    3. Profiling With Instruments
    4. End Of The Road
  23. Chapter 16: The Road Goes Ever On
    1. Getting Unstuck
    2. Apple’s Documentation
    3. Mailing Lists
    4. Discussion Forums
    5. Web Sites
    6. Blogs
    7. And If All Else Fails
    8. Farewell
  24. Index