Core Data programming is hard. Apple warn as much in their document Core Data Core Competencies, "Important: Core Data is an advanced technology that is not required for creating simple applications". That doesn't sound so severe perhaps but it does contrast greatly with the rest of the developer documentation that seems to suggest that iOS/OSX programming is made easy by all the frameworks and widgets ready for us to customise and use in our applications.

Compared to many other Apple frameworks, Core Data seems to be considerably less developer-friendly. Compare it then to the elegance of the RubyMotion framework and the constrast becomes more stark. How are we to define our models, relationships and migrations without the tools that Xcode provides?

In this book we set out exactly how you can create Core Data-powered apps using RubyMotion that are ready for the app store, including preparing for the future by learning the ins and outs of schema and data migrations. Below is an outline of the topics we cover:

An Overview of the Core Data architecture

Setting up the Core Data stack in RubyMotion

Modelling your data without Xcode

Managing Schema Migrations

Handling Data (Heavyweight) Migrations

Adding undo/redo Management to your app

Tips to get unstuck when faced with common Core Data issues

All sample code is available on GitHub.