This is the best tutorial I found so far on migrating data across apps:
But it only discusses the case where you have total control over how the data is represented, such as would be the case if you were constructing your own archivable plist objects and moving them in and out of your documents directory. What if your app uses Core Data and you want to migrate a store across apps?
In my case I want to have a free app's Core Data store get picked up by a paid app at launch. Let's assume that I am going to use the pasteboard process as described above, such that iOS provides a great mechanism for saving NSData, launching an app, and claiming the NSData. So, how do you wrap a Core Data package in NSData?
To make this even feasible, let's assume that the free version uses the same model or a subset model of the full version such that lightweight migration is confirmed functional. Is it possible to get the contents of a persistent store, feed them into an NSData object, and then unpack the NSData object to a new store? I'm just guessing that this would be a persistent store... the real question is, what would such an object be?