我的项目中有.xcdatamodeld文件,但它没有打开数据模型。
当我点击Xcode左侧边栏中的文件时,它会继续显示以前选择的文件的内容,而不是显示数据模型。同样,当我右键单击该文件并选择“打开为>”时,我无法选择将其显示为数据模型 - 没有任何内容出现。我查看了SVN repo中的代码,甚至文件管理员所有者也无法在他的工作区中看到它。
答案 0 :(得分:12)
这是我不时看到的症状。至少在一种情况下,这是由于Xcode在project.pbxproj文件的path
部分的XCVersionGroup
组件中存储了错误的路径,并且显然没有必要的额外name
组件在那一节。可能手动编辑这个文件,但我总是不愿意直接使用项目文件,幸运的是,这是一种更简单的方法。
您现在只剩下一个对数据模型的引用,它可以正常工作。
似乎触发此错误的一件事是将.xcdatamodeld文件移动到磁盘上的文件结构中。即使在正确地将文件与新位置重新关联之后(即,侧栏中的红色不再显示),上面提到的Project文件的一部分也未正确更新,因此文件未被完全正确地处理为Xcode数据模型文件。
答案 1 :(得分:5)
我在Xcode 6.3中遇到了同样的问题
对我有用的唯一解决方案是将.xcdatamodeld文件移出我的'Resources'文件夹并移入Xcode项目资源管理器中的项目根文件夹(文件系统上的位置不物质)
我仍然不确定为什么,只是在项目结构中移动文件的位置导致它在点击时根本不显示..但显然,至少在我的设置中,它不喜欢住在资源文件夹..
答案 2 :(得分:4)
出于某些黑暗的原因,有时Xcode需要将xcdatamodel d fiel放在根文件夹中。 我写了一个答案here来解释如何执行此操作,但也提供了一个解决方法,可以将此文件放在您想要的位置。
干杯!
答案 3 :(得分:2)
.xcdatamodeld
文件是一个包。它包含.xcdatamodel
个包,每个版本的模型一个。每个.xcdatamodel
内都有一个contents
文件,它是一个带有实体描述的 XML 。要查看包中的内容,请在Finder中右键单击它们,然后选择显示包内容选项。
也许您没有将contents
文件添加到您的存储库中。这样,当您从中创建全新的工作副本时,您将无法看到您的模型。
答案 4 :(得分:2)
我今天在Xcode8上遇到了这个问题。
我只是将xcdatamodeld文件放在Project导航器(左窗格)中的任何组之外来解决它。一旦我把它移到一个小组中,我就再也无法打开小家伙。
答案 5 :(得分:1)
我遇到了与Xcode 7.3.1类似的问题。
事实证明这与数据模型包的配置方式有关。
我发现有一个嵌入式模型包嵌套在另一个中。让我们说一个名为FolderNodes.xcdatamodeld的顶级数据模型,其中包含另一个名称完全相同的文件夹... FolderNodes.xcdatamodeld。 Inside FolderNodes.xcdatamodeld是具有模型信息的实际内容文件。
我的解决方案是将嵌入式软件包FolderNodes.xcdatamodeld(编号2)拖入Xcode项目而不是其封闭文件夹。
Apple使用该软件包进行版本控制,但我认为与移动数据模型文件相关的逻辑会以某种方式打破原始软件包,从而创建一个冗余的包装器。
答案 6 :(得分:1)
确保您的Version Editor
无效。
打开Data Model
会导致显示xml代码,而不是Data Model
。您也无法在Project Navigator
中的xcdatamodeld文件的上下文菜单中选择WebClient
。