我已经构建了一个应用程序,该应用程序已在1.0版的应用程序商店中提供。这个应用程序有本地数据库(即SQLite)。现在我正在开发下一个版本(即1.1),在这个版本中我已经向我的本地数据库添加了一个新表。有了这个,开发就完成了。
现在,使用testFlight我正在执行内部测试。
让我们考虑两种情景:
案例1: 在我的设备上,我刚从testFlight安装了beta版本1.1。安装完成后,我检查了我的本地数据库,发现我的本地数据库已使用新添加的表进行更新。 所以这很好。
案例2: 让我们考虑一个场景,在我的设备上运行我的应用商店版本,即版本1.0,现在我正在安装Testflight的beta版本。点击安装按钮后,我收到一条消息"您是否要更新现有的应用程序"通过单击确定按钮,应用程序上安装了版本为1.1的beta版本。 但是当我检查我的本地数据库时,我发现数据库没有使用新表更新。即它仍然将较旧的数据库显示在应用程序中。
为什么在第二种情况下只更新我的本地数据库?
testFlight构建是否不会覆盖完整的应用商店版本以及本地数据库?
答案 0 :(得分:0)
如果您想真正测试生产中的迁移过程,您必须使用Itunes安装您的应用程序,因为TestFlight或通过xCode的构建过程不会完全覆盖App。
在已安装旧版本应用的设备上使用iTunes安装已更新存档版本的临时分发。
我与CoreData有类似的问题。我不得不迁移我的数据库,我无法测试更新应用程序的真实情况。
唯一真正的考验是: