在应用更新中发送新的SQLite数据库

时间:2015-03-24 14:43:56

标签: ios iphone xcode app-store

我们的应用程序将附带预先填充的数据库,该数据库不断从我们的生产服务器数据库下载更新以保持最新。当我们对应用程序的代码库进行更新并将这些更新推送到AppStore时,我们还会包含更新的db.sqlite文件。

我的问题是:当我们这样做时,我认为它会覆盖用户" old"已经存在的数据库文件?

我认为(并且希望)答案是肯定的,但只是想仔细检查 - 我在Apple的文档中找不到任何答案,但可能只是忽略了,或者一直在寻找错误的术语。

1 个答案:

答案 0 :(得分:1)

当您说“哪个不断从我们的生产服务器的数据库下载更新”时,我认为这意味着该应用程序将下载数据并更新数据库?在这种情况下,数据库必须存在于Documents文件夹中,并且在将其复制到文档文件夹之前,它不会进入Documents文件夹。

通常这是由应用程序完成的,如果数据库文件尚不存在,但是如果要覆盖当前数据库,则需要一种机制来发现Documents文件夹中的文件夹是否已过期,与应用程序包中的那个相比。这可能意味着拥有一个“元数据”表(包含两列name / value),其中包含版本号或某些版本号。您读取了两个数据库并决定是否复制。