应用商店应用中的核心数据迁移

时间:2011-10-31 11:55:58

标签: iphone app-store core-data-migration

在我的应用中,我使用核心数据并使用版本1到5.在应用商店中,例如以前的应用程序有版本1,新的更新有版本5.因此在调试和临时版本中跳过版本2,3,4。 现在我发现应用商店由于某种核心数据问题而崩溃,我认为它适用于版本问题。如果删除旧应用并安装新应用,则可以解决问题。

您能否建议我如何解决此问题?保持现有应用程序安装在用户手机中并发布新更新,以便拥有早期版本的用户无需删除应用程序进行更新。

2 个答案:

答案 0 :(得分:0)

我寻找迁移计划。我找不到任何直观的文档,当你用旧版本搞砸了自己的xcdatamodel文件时,如何迁移或修复。

因为在我的情况下,没有存储重要数据,并且所有数据都与应用程序的当前运行动态相关,在下一个版本中,我删除了文档目录中的旧sqlite文件并进行了清理。我从现在开始使用另一个sqlite文件存储新数据......

答案 1 :(得分:0)

它也发生在我身上。 我一遍又一遍地测试过...迁移工作正常,当应用程序上线时,迁移不适用于来自AppStore的应用程序。

解决方案: 通过iTunes安装应用程序来测试迁移,而不是通过XCode。

如何: 从iPhone删除应用程序。 与iTunes同步。 确保从iTunes中的应用中删除该应用。 通过XCode将旧应用程序安装到您的设备。 现在在XCode中打开你的应用程序的新版本。 选择为iPhone设备构建(不适用于模拟器)。 在/ Users // Library / Developer / Xcode / DerivedData // Build / Products / Debug-iphoneos中找到.app文件 在iTunes中拖动.app文件。 与您的设备同步。

这样,新应用程序将以与通过AppStore升级时完全相同的方式覆盖iPhone中的旧应用程序。

现在,您可以输入调试日志并找出问题所在。 您可以在设备的控制台中的管理器中查看日志。

就我而言,问题是pathForResource方法没有查看子目录。但我的老妈妈档案在一个目录中。所以我不得不使用相同方法的额外参数“inDirectory”。

这种方法通过XCode安装并且无法通过iTunes工作的原因让我感到震惊......没有任何线索!

但至少现在我知道这些事情: - pathForResource不查看子目录 - 在上线之前始终通过iTunes安装我的应用程序!!!