Home > Store > Home & Office Computing > Entertainment/Gaming/Gadgets

larger cover

Add To My Wish List

Learning iCloud Data Management: A Hands-On Guide to Structuring Data for iOS and OS X, Rough Cuts

Rough Cuts

  • Sorry, this book is no longer in print.
  • About Rough Cuts
  • Rough Cuts are manuscripts that are developed but not yet published, available through Safari Books Online. Rough Cuts provide you access to the very latest information on a given topic and offer you the opportunity to interact with the author to influence the final publication.

Not for Sale

Also available in other formats.

  • Description
  • Sample Content
  • Updates
  • Copyright 2013
  • Dimensions: 7" x 9"
  • Pages: 400
  • Edition: 1st
  • Rough Cuts
  • ISBN-10: 0-13-313405-9
  • ISBN-13: 978-0-13-313405-6

This is the Rough Cut version of the printed book.

“A great read for iOS developers who want to learn if iCloud is right for their app and dive right in with lots of practical code examples.”
—Jon Bell, UXLaunchpad.com

 

Get Hands-On Mastery of iCloud Data Management for iOS 7 and OS X Mavericks

 

As apps rapidly move into business and the cloud, iOS and OS X developers need new data management techniques. In Learning iCloud Data Management, renowned Apple database expert Jesse Feiler shows you how to use Apple’s latest APIs and technologies to structure and synchronize all forms of data. Feiler helps you understand the issues, implement efficient solutions, and deliver highly usable apps that seamlessly synchronize during the “Round Trip” between iOS and OS X and back again.

 

This guide walks you through integrating several key Apple data management technologies, including the Address Book and Calendar APIs. Feiler shows you how to structure data so it’s easy to build great Cocoa and Cocoa Touch user interfaces and to quickly incorporate reliable iCloud syncing. Step by step, you’ll discover how to blend Apple’s standard application data structures with your own user data to create a feature-rich and fully syncable environment.

 

Coverage includes

  • Understanding iCloud from the developer’s and user’s point of view
  • Accessing synchronized user calendars and contacts
  • Integrating Reminders into your apps
  • Playing by iCloud’s user privacy rules
  • Applying consistent iOS Settings and OS X Preferences across user devices
  • Managing persistent storage with Core Data
  • Using Xcode Project Workspaces for shared development
  • Adding data to app bundles and resources
  • Integrating iCloud infrastructure, file wrappers, documents, and data
  • Completing the”Round Trip” between both iOS and OS X

Table of Contents

Preface xvii
Acknowledgments xxiii
About the Author xxv

 

Introduction 1

 

Part I: Introducing iCloud 3

 

Chapter 1: Exploring iCloud and Its User Experience 5
Looking at Cloud Computing 5
Understanding the iCloud Paradigm 7
Making the Round Trip 14
Chapter Summary 14
Exercises 15

 

Chapter 2: Setting Up iCloud for Development 17
Managing App Security on iOS and OS X 18
Looking Inside the iCloud Basics 23
Using iCloud in Your App 30
Chapter Summary 31
Exercises 32

 

Part II: Using the APIs 33

 

Chapter 3: Introducing the APIs and the First Apps 35
Getting Started as an Apple Developer 35
Looking at the APIs 37
Introducing the Built-In Data Apps 38
Wiring Up the Interfaces 50
Chapter Summary 55
Exercises 55

 

Chapter 4: Working with the AddressBook API for Contacts 57
Considering the AddressBook API on iOS and OS X 57
Sending Mail from the iOS App 58
Sending Mail from the OS X App 65
Using Property Lists for Storing and Syncing 65
Chapter Summary 66
Exercises 67

 

Chapter 5: Managing Calendars and Reminders with the Event Kit API 69
Exploring the Event Class Hierarchy 70
Setting OS X Permissions 71
Working with the Calendar Database 72
Adding a Reminder to the App on iOS 80
Adding an Event to the App on OS X 83
Chapter Summary 85
Exercises 85

 

Chapter 6: Protecting the Privacy of User Data 87
The Need for Privacy 87
Looking at Apple’s Rules and Guidelines 88
Best Practices in App Privacy 88
Chapter Summary 93
Exercises 93

 

Part III: Using the Technologies 95

 

Chapter 7: Introducing Blocks, Threads, and Notifications 97
Catching Up with Blocks and Threads 98
Getting Up to Speed with Notifications 100
Receiving Notification of iCloud Availability Changes 102
Introducing the Second Project 103
Getting Ready to Move On 103
Chapter Summary 104
Exercises 104

 

Chapter 8: Using Key-Value Coding (KVC) 105
Setting Up a Controlled Testing Environment 106
Implementing KVC 106
Testing iCloud on iOS Simulator 107
Preparing Your Project for Testing 108
Sharing the Key-Value Store for the Round Trip 110
Setting Up and Using NSUbiquitousKeyValueStore 111
Chapter Summary 120
Exercises 120

 

Chapter 9: Using Preferences, Settings, and Keychains with iCloud 121
Using Property Lists 122
Working with User Defaults 128
Registering Defaults 130
Chapter Summary 131
Exercises 131

 

Chapter 10: Managing Persistent Storage with Core Data 133
Understanding the Goals of Core Data 134
Structuring Data 135
Understanding How Core Data Works with iCloud 139
Introducing the Core Data Project 139
Using the Xcode Data Modeling Tool 142
Examining the Core Data Stack 154
Chapter Summary 155
Exercises 155

 

Chapter 11: Using Xcode Workspaces for Shared Development 157
Building on the Digital Hub 158
Reviewing Xcode File Management 159
Setting Up a Multiproject Workspace 162
Creating a Multiproject Workspace 163
Chapter Summary 167
Exercise 168

 

Chapter 12: Adding Data to Apps with Bundles and Resources 169
Packages, Bundles, and Resources 169
Looking at Sandboxed Files 176
Including Property Lists 181
Including a Core Data Store 183
Chapter Summary 184
Exercises 184

 

Part IV: Using iCloud Documents and Data 185

 

Chapter 13: Adding the iCloud Infrastructure 187
Exploring the Workspace for the App 188
Debugging iCloud Apps with developer.icloud.com 195
Building the App 199
Creating the Shared Folder 201
Creating the App’s Classes 215
Chapter Summary 230
Exercises 230

 

Chapter 14: Working with File Wrappers in iCloud 231
Exploring Files, File Wrappers, and Documents 231
How Users Manage iCloud Files 233
Starting the Placid Project 236
Writing the Code 246
Working with the Storyboard 270
Chapter Summary 270
Exercises 270

 

Chapter 15: Working with iOS Documents 273
Planning the App’s Structure 274
Starting the Loon Project 276
Writing the Code 280
Chapter Summary 315
Exercises 315

 

Chapter 16: Working with OS X Documents 317
Evolution of NSDocument and UIDocument Differences 317
Planning the Project 319
Starting the Chazy Project 321
Writing the Code 326
Testing the App 337
Chapter Summary 338
Exercises 338

 

Chapter 17: Working with Core Data and iCloud 339
Looking at the iCloud Core Data Implementation 339
Fallback Stores 341
Setting Up and Managing Persistent Stores 342
Managing Account Changes 344
Database Migration 345
Chapter Summary 348
Exercises 348

 

Chapter 18: Completing the Round Trip 349
How the User Sees the Round Trip 350
How the Developer Sees the Round Trip 362
Configuring the Shared Ubiquity Container 366
Using a Shared iCloud Controller 368
Moving Documents to iCloud 376
Moving Documents from iCloud to Local Storage 377
Chapter Summary 378
Exercises 378

 

Index 379