安装新版本后保留sqlite数据库

时间:2010-11-10 03:34:37

标签: iphone sqlite

我正在创建一个待办事项列表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];

1 个答案:

答案 0 :(得分:1)

只要您在<Application_Home>/Documents目录中创建sqlite数据库,该文件将由iTunes备份并保持应用更新。

详情请参阅“iOS应用程序编程指南”的"Backup and Restore""A Few Important Application Directories"

部分
相关问题