我的iPhone应用程序的第一个版本(在应用程序商店中)有一个SQLite数据库。现在我想推出应用程序的第二个版本,其中还包含一个SQLite数据库。
我了解到更新后,SQLite数据库将被删除,然后添加新的数据库。我不希望发生这种情况,因为该数据库包含用户已保存的一些信息。如果在更新时删除它将不会很好。
问题是,如何将旧SQLite(旧版)数据库中的数据传输到新数据库?我如何测试App Store上可能发生的版本更新过程?
非常感谢任何帮助。感谢。
答案 0 :(得分:2)
这不是我亲自测试的,但据我所知:
christo16
是正确的,并且假设您已经发布的应用没有将数据库复制到Documents,您可能希望发布所做的临时版本这样做。然后,只需确保在推出数据库更新之前确保大量用户已安装临时版本。答案 1 :(得分:2)
答案是:从一开始就在您的应用中实施版本控制: - )
在这种情况下,您可以将没有版本信息的应用视为版本1.我要做的是将数据库的版本存储在某个地方(可能在数据库本身内)。打开数据库时,根据应用程序期望的版本检查其版本,然后根据需要进行任何架构更改并更新存储的版本号。
如果您还没有将数据库复制到应用程序的Documents目录,那么这一切都没有意义,因为无论如何它都是只读的。否则,在更新之间保留Documents目录的内容。
要测试更新,只需在设备上使用以前版本的新副本即可。然后安装新的(构建和运行会很好)。您确实保留了应用程序的旧版本,对吧?