2010-11-10 5 views
0

Je crée une application iphone de liste de tâches et je suis confrontée à un problème lié à la mise à jour de la version.Conserver la base de données sqlite après l'installation de la version la plus récente

Lors de chaque processus de débogage de Build &, j'ai découvert que mes dernières données de test avaient toutes disparu. C'est bien pour le développement et les tests, mais qu'en est-il une fois que l'application est publiée et quand je publie une nouvelle mise à jour? J'aimerais que mes utilisateurs conservent leur liste de tâches à faire. J'utilise sqlite3.h pour manipuler la base de données. Lorsque l'application démarre, elle exécute "CREATE IF EXISTS MY_TABLE" pour que je puisse garantir qu'il existe une table de base de données utilisable.

Modifié: grâce @JP réponse, mon problème est résolu en modifiant comme:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; 
NSString *filename = @"todo.db"; 
NSString *filepath = [documentsDirectory stringByAppendingPathComponent:filname]; 

précédemment, mon code est:

NSString *filename = @"todo.db"; 
NSString *filepath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:filname]; 

Répondre

1

Tant que vous créez la base de données SQLite le répertoire <Application_Home>/Documents, le fichier sera sauvegardé par iTunes et maintenu à travers les mises à jour de l'application.

Les détails sont dans le Guide de programmation d'applications iOS dans les sections "Backup and Restore" et "A Few Important Application Directories"

Questions connexes