我的项目中有 .xcdatamodeld 文件,但它没有打开到数据模型中。
当我在 Xcode 中单击左侧边栏中的文件时,它会继续显示先前选择的文件的内容,而不是显示数据模型。同样,当我右键单击该文件并选择“Open As >”时,我无法选择将其显示为数据模型——什么也没有出现。我从 SVN 存储库中检查了代码,甚至文件管理器所有者也无法在他的工作区中看到它。
这是我不时看到的症状。至少在一种情况下,这是由于 Xcode 在 project.pbxproj 文件部分的path组件中存储了错误的路径XCVersionGroup,并且在该部分中有明显不必要的附加name组件。手动编辑这个文件可能是可能的,但我总是不愿意直接使用项目文件,幸运的是有一个更简单的方法。
您现在只剩下一个对数据模型的引用,并且它可以工作。
似乎触发此错误的一件事是在磁盘上的文件结构中移动 .xcdatamodeld 文件。即使在正确地将文件与新位置重新关联之后(即它不再在侧边栏中显示为红色),上面提到的项目文件的一部分也没有正确更新,因此文件没有被完全正确地视为Xcode 数据模型文件。
我在 Xcode 6.3 中遇到了同样的问题
唯一对我有用的解决方案是将 .xcdatamodeld 文件从我的“资源”文件夹中移到Xcode 项目资源管理器中的项目根文件夹中(文件系统上的位置无关紧要)
我仍然不确定为什么,只是在项目结构中移动文件的位置会导致它在单击时根本不显示..但显然,至少在我的设置中,它不喜欢住在 Resources 文件夹中..
由于一些黑暗的原因,有时 Xcode 需要 xcdatamodel d字段位于根文件夹中。我在这里写了一个答案,解释了如何做到这一点,但也是一种解决方法,可以将这个文件放在你想要的任何地方。
干杯!
该.xcdatamodeld文件是一个包。它包含.xcdatamodel包,每个版本的模型一个。每个.xcdatamodel里面都有一个contents文件,这是一个带有实体描述的XML 。要查看包中的内容,请在 Finder 中右键单击它们并选择“显示包内容”选项。

也许您没有将contents文件添加到您的存储库中。这样,当您从中创建全新的工作副本时,您将无法看到您的模型。
我今天在 Xcode8 上成为这个问题的受害者。
我只是通过将 xcdatamodeld 文件放在项目导航器(左窗格)中的任何组之外来解决它。一移到群里,小家伙就再也打不开了。
Xcode 7.3.1 也有类似的问题。
事实证明,这与数据模型包的配置方式有关。
我发现有一个嵌入式模型包嵌套在另一个模型包中。假设一个名为 FolderNodes.xcdatamodeld 的顶级数据模型包含另一个名称完全相同的数据模型... FolderNodes.xcdatamodeld。FolderNodes.xcdatamodeld 内部是包含模型信息的实际内容文件。
我的解决方案是将嵌入式包 FolderNodes.xcdatamodeld(编号 2)拖到 Xcode 项目中,而不是其封闭文件夹中。
Apple 使用该包进行版本控制,但我认为与移动数据模型文件相关的逻辑以某种方式破坏了原始包,从而创建了冗余包装器。
确保您Version Editor的未激活。
在Version Editor要显示的 xml 代码中打开结果而不是Data Model. 您也无法Data Model在 .xcdatamodeld 文件的上下文菜单中进行选择Project Navigator。
也发生在 XCode 8.3 上。
对我来说,将物理文件移动到不同的文件夹,然后删除原始参考,然后将其添加回同一个位置并再次建立参考就可以了。