11

我已经在 App Store 中提供了一个 iPhone 应用程序(1.0 版),并准备提交更新的版本(1.1 版)。如何测试新升级以确保早期版本上的当前 sqlite 数据库和属性列表文件不会被删除/覆盖等?新版本假定 sqlite 数据库和属性列表中的旧数据仍然存在。

或者更好的是,在开发应用程序更新时,我是否可以使用资源来引导我了解需要注意的事项?

4

2 回答 2

13

当我们想测试我们的数据库升级代码时,我们解决这个问题的方法是使用 ad hoc 分发。

我们让测试人员从 iTunes 下载 1.0 应用程序并将其安装在他们的测试设备上。

然后,我们使用基于 Release 配置的配置构建了应用程序的 Ad Hoc 发行版,并确保它具有相同的包标识符。只要捆绑标识符相同,新应用程序就应该覆盖以前的版本。

我们要求我们的测试人员像往常一样安装临时构建,方法是将其拖入 iTunes,然后同步设备以模拟升级。

据我所知,这与用户通过设备本身的应用商店下载和安装升级相同。

如您所料,文档文件夹应该保持原样,保留您的数据库,并且您的应用程序应该能够运行其升级代码以按照您需要的方式修改数据库。

希望这可以帮助 :)

于 2010-03-26T15:49:17.693 回答
9

像这样测试:

  1. 从设备中删除应用程序。
  2. 将 v1.0 应用程序(或 .ipa 文件)安装到 iTunes
  3. 同步到设备,iTunes 将安装应用程序
  4. 在设备上启动应用程序,创建和保存数据等。
  5. 退出设备上的应用程序
  6. 将 v1.1 应用程序(或 .ipa 文件)安装到 iTunes 中;iTunes 将要求确认替换旧版本的应用程序。
  7. 同步到设备,iTunes 将更新应用程序
  8. 在设备上启动应用程序
  9. 使用新版本的应用程序使用现有数据进行测试。
于 2010-06-20T11:42:16.897 回答