ios - 在 XCode 中更改为映射模型未在模拟器包中更新

标签 ios xcode core-data migration

我创建了一个映射模型以在两个核心数据模型之间迁移。然后我编辑了我的映射模型(添加了自定义迁移策略,更改了映射名称等),运行了模拟器,然后......没有任何改变。加载了旧的映射模型,忽略了我的更改。查看模拟器运行的包,.cdm 文件的大小也没有改变。

还有一个奇怪的问题就是有时候连映射模型都找不到,导致迁移错误。在这种情况下, bundle 中的 .cdm 文件存在但非常小 - 小于 0.5k(我的工作文件是 ~14k)。

我试过运行“Clean”,清空 Xcode 的 DerivedData 目录并重置模拟器。他们只解决了新映射模型的问题,但编辑它们将再次不起作用。这使得它几乎不可能使用映射模型。非常令人沮丧:-(

最佳答案

执行全部清理(在从菜单中选择清理的同时按住选项键)将删除派生数据并允许拾取映射模型中的更改。

出于习惯,当我在 Xcode 中处理任何不是特定源代码文件的文件时,我总是会执行一次清理。

我还建议提交雷达。自 Leopard 中出现映射模型以来,这一直是一个问题。

这不是模拟器的问题,而是 Xcode 没有监视这些文件更改的问题。一旦编译的副本被删除(通过全部清除),Xcode 将再次将整个应用程序包复制到 sim。

但是,当您测试迁移时,我发现无论如何“重置”sim 卡都是有帮助的,这通常对没有映射模型或您要迁移到的新模型的副本不利。

关于ios - 在 XCode 中更改为映射模型未在模拟器包中更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8243109/

相关文章:

ios - 将最近保存的数据与 Core Data 一起使用

Swift: boolean 属性和 KVC 之谜

ios - 从 IB 访问静态颜色

ios - loadNibNamed() 失败 : Unknown class <mangled Swift identifier> in Interface Builder file

ios - 没有为 Xcode 6.1 编译的架构

json - 更改其中包含链接的字符串

objective-c - 如何在 cocoa touch/xcode 4 中为开发人员加密我的源代码和导出

ios - 静态成员不能用于协议(protocol)元类型 Swift

ios - 我们可以使用企业帐户进行苹果 Beta 测试,我们没有开发者帐户吗?

ios - 我应该在 iOS 应用程序中的什么位置存储默认字符串列表?