我已经在 App Store 中提供了一个 iPhone 应用程序(1.0 版),并准备提交更新的版本(1.1 版)。如何测试新升级以确保早期版本上的当前 sqlite 数据库和属性列表文件不会被删除/覆盖等?新版本假定 sqlite 数据库和属性列表中的旧数据仍然存在。
或者更好的是,在开发应用程序更新时,我是否可以使用资源来引导我了解需要注意的事项?
我已经在 App Store 中提供了一个 iPhone 应用程序(1.0 版),并准备提交更新的版本(1.1 版)。如何测试新升级以确保早期版本上的当前 sqlite 数据库和属性列表文件不会被删除/覆盖等?新版本假定 sqlite 数据库和属性列表中的旧数据仍然存在。
或者更好的是,在开发应用程序更新时,我是否可以使用资源来引导我了解需要注意的事项?
当我们想测试我们的数据库升级代码时,我们解决这个问题的方法是使用 ad hoc 分发。
我们让测试人员从 iTunes 下载 1.0 应用程序并将其安装在他们的测试设备上。
然后,我们使用基于 Release 配置的配置构建了应用程序的 Ad Hoc 发行版,并确保它具有相同的包标识符。只要捆绑标识符相同,新应用程序就应该覆盖以前的版本。
我们要求我们的测试人员像往常一样安装临时构建,方法是将其拖入 iTunes,然后同步设备以模拟升级。
据我所知,这与用户通过设备本身的应用商店下载和安装升级相同。
如您所料,文档文件夹应该保持原样,保留您的数据库,并且您的应用程序应该能够运行其升级代码以按照您需要的方式修改数据库。
希望这可以帮助 :)
像这样测试: