如何确保App Updates不会覆盖所有用户数据?

时间:2009-08-14 13:11:34

标签: iphone persistence

我不确定这一点:当我在我的应用程序中使用sqlite3时,我发送了一个几乎为空的数据库。随着时间的推移,用户会添加很多东西,直到他安装更新。对我来说,看起来更新只是替换旧的应用程序。更新不会覆盖用户先前输入的所有数据的诀窍是什么?以及NSUSerDefaults中的设置如何?它们保持不变还是在用户更新时被删除?

1 个答案:

答案 0 :(得分:1)

第一次启动应用程序时,需要将数据库文件从软件包复制到应用程序的文档目录中。您的应用程序必须在运行时使用此副本 - 而不是捆绑中的副本。升级应用程序后,文档目录中的文件将保持完整,并且可以由应用程序的升级版本使用。

看一下Apple的SQLiteBooks iPhone示例应用程序中的AppDelegate,看看如何做到这一点。