我最近提交了我的应用程序的升级,其中包括一个轻量级的coredata迁移(包括现有表中的新字段和几个新表)。我关注了关于这次迁移的每个技巧,包括我在这个网站上找到的一些技巧。
我在三个不同的设备上彻底测试了更新,一切都很顺利!
然而,这个更新会使我所有的设备崩溃,可能也会影响我所有的客户。我无法解释为什么会发生这样的事情。
你能帮我理解一下这场灾难吗?
发布于 2011-03-23 06:02:30
要真正测试您的应用程序和迁移,您需要运行您的原始应用程序,以根据原始数据模型创建数据存储。然后,您需要运行您的新应用程序,打开使用原始应用程序生成的数据存储。这可能是一个真正的痛苦,并且在Simulator中更容易(至少最初),因为您可以对文件系统进行更多的控制,并且可以在保存的原始数据存储中进行交换。在iDevice上,您需要为每个测试重新生成原始数据存储。
如果您在自己的开发设备上进行测试,那么您已经迁移了数据存储。有没有可能您的测试设备使用新的数据模型创建了它们的数据存储-并且从未实际执行过迁移?
发布于 2011-03-23 08:18:29
我通常只在beta测试期间使用自动迁移,为了快速修改,除此之外,我总是使用映射模型,以便您可以控制。
另一个问题是,如果你的模型在不同版本之间发生了足够大的变化,从v1-v2自动迁移可能很好,v2-v3也可以,但v1-v3可能太剧烈而无法推断。通过为它们制作地图,您可以保持对迁移的控制。
https://stackoverflow.com/questions/5390432
复制相似问题