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