我使用核心数据。在开发期间,当我添加新模型版本时,我需要在构建之前在xcode中清理我的项目,以便迁移到新模型版本。
因此,当我的用户更新他们的应用程序时,他们的应用程序在第一次启动之前也已“清理”了吗? 或者我是否需要以另一种方式强制迁移?
更确切地说:当我在xcode中构建我的新应用程序版本(使用新的核心数据模型版本)并在设备上运行它时,每当我尝试访问托管对象的新属性时它就会崩溃(因为它确实不要将sqlite DB迁移到新模型。)
答案 0 :(得分:0)
是的,以您理解“已清理”的方式,您的用户的应用程序将进入可执行状态。存储在Core Data的持久存储中的所有数据都将迁移到新存储,并且将像以前一样可用。
事实上,这是苹果移民计划的重点。正如FR所指出的,请阅读documentation。