我正在创建一个待办事项列表iphone应用程序,并面临与版本更新相关的问题。
在每个Build& amp;调试过程中,我发现我的上一次测试数据全部消失了。它适用于开发和测试,但是一旦应用程序发布以及我发布新版本更新时怎么样?我希望我的用户保留以前的待办事项列表。
我正在使用sqlite3.h来操纵数据库。当应用程序启动时,它会执行“CREATE IF EXISTS MY_TABLE”,因此我可以保证有一个可用的数据库表。
编辑: 感谢@JP回复,我的问题通过修改如下来解决:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *filename = @"todo.db";
NSString *filepath = [documentsDirectory stringByAppendingPathComponent:filname];
之前,我的代码是:
NSString *filename = @"todo.db";
NSString *filepath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:filname];
答案 0 :(得分:1)
只要您在<Application_Home>/Documents
目录中创建sqlite数据库,该文件将由iTunes备份并保持应用更新。
详情请参阅“iOS应用程序编程指南”的"Backup and Restore"和"A Few Important Application Directories"
部分