Two options spring to mind:
- Write an importer from some reasonable data format (XML, JSON, etc.) and import that into your Core Data context on first run, then save the context to a persistent store.
- If your app only needs one persistent store, you can pre-populate it and deploy the persistent store with your app's resources. If you need multiple persistent stores, all pre-populated with the same default data, option 1 is probably going to be easier, but you could use NSPersistenStoreCoordinator's migratePersistentStore:toURL:options:withType:error: (or the equivalent in iPhone Core Data -- still under NDA) to create the new store from the pre-poplated store for each new store needed.
In my experience the code to implement option 1 is nearly the same code as required to prepopulate a persistent store, so perhaps there's really only one option with two points of view.