Comment puis-je expédier mon application avec une database de database pré-remplie?

Mon application utilise des données de base et je veux que certaines inputs par défaut soient à l'intérieur. Quelles sont les meilleures pratiques de comment faire cela?

Si vous chargez déjà datatables de préchargement via une routine temporaire pour les tester dans votre code actuel, il n'y a aucune raison de ne pas pouvoir utiliser le file sqlite créé dans le directory du simulateur (inutile d'écrire une application Mac séparée).

Si vous ne remplissez pas déjà cette database, vous pouvez toujours écrire une application iOS qui le fait. Les chances sont que vous avez déjà écrit les methods pour append des données à votre magasin afin que vous puissiez les utiliser pour importer datatables de pré-chargement.

Dans tous les cas, vous récupérerez le file sqlite du directory du simulateur et l'appendez à l'set de votre application; Au premier lancement, vous le copyz à l'location approprié dans le directory de l'application avant de lui indiquer datatables de base. Si c'est vraiment important, l'inconvénient est qu'il y aura une copy dans le bundle et une autre sur le disque, mais il n'y a pas grand-chose à faire à part le fait de saisir datatables sur le réseau.

Comme d'autres l'ont suggéré, si la quantité de données est petite, vous pouvez simplement l'importer au premier lancement, en utilisant les methods que vous avez déjà écrites pour append des données dans le cadre du stream de travail de l'application normale.

Voir l' exemple CoreDataBooks , qui contient un exemple de code pour copyr une database au premier lancement.

EDIT: J'ai créé un framework de database (lisez-le ici: http://bikepress.org/?p=1120 ) qui inclut cette fonctionnalité.

Je voudrais juste créer une database et mettre l'append à ma cible afin que Xcode le copy dans le package d'application. Au premier lancement, il suffit de le copyr à partir de l'set de l'application à par exemple. le directory de documents ou l'endroit où votre application attend la database.

Il existe Core Data Editor sur l'App Store. Vous pouvez également créer votre propre application mac juste pour cette database et la gérer à partir de là. Si le nombre d'inputs par défaut est faible, il est préférable de le stocker dans une plist ou quelque chose et de le charger dans DB après le premier lancement.

Dans iOS 5, mon application a été refusée si je mets un file de database dans un regroupement de ressources. Donc, je dois download la database à partir d'Internet à la place.