Xcode 数据模型编辑器未出现
Posted
技术标签:
【中文标题】Xcode 数据模型编辑器未出现【英文标题】:Xcode Data Model Editor not appearing 【发布时间】:2012-01-28 15:04:48 【问题描述】:我正在使用 Xcode 4.2,并且正在尝试使用 Core Data。单击 .xcdatamodeld 文件后,我看到了一个奇怪的视图,而不是数据模型编辑器视图。
我已经重新安装了 Xcode 4.2,甚至从头开始创建了一个启用 Core Data 的入门项目,但问题仍然存在。当我使用新文件创建数据模型时 --> 数据模型。它没有被识别为 DataModel。 Ctrl+单击 --> 'Open As' 仅显示“Preview”选项。我将我的基本项目与在另一台机器上创建的项目(一切正常)进行了比较。目录差异显示:
Foos.xcdatamodeld 文件放置在项目构建阶段的“复制捆绑资源”部分下,而不是位于“编译源”部分下。我将此文件移动到“编译源”部分,但数据模型编辑器仍然不显示。
工作项目中的 Foos/Foos.xcdatamodeld/.xccurrentversion 文件看起来像
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>_XCCurrentVersionName</key>
<string>Foos.xcdatamodel</string>
</dict>
</plist>
在非功能性的时候是
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
</dict>
</plist>
-
我注意到的唯一其他区别是工作版本在 project.pbxproj 文件中有以下内容
/* Begin XCVersionGroup section */
831B12C114A7F73600524A33 /* Foos.xcdatamodeld */ =
isa = XCVersionGroup;
children = (
831B12C214A7F73600524A33 /* Foos.xcdatamodel */,
);
currentVersion = 831B12C214A7F73600524A33 /* Foos.xcdatamodel */;
path = Foos.xcdatamodeld;
sourceTree = "";
versionGroupType = wrapper.xcdatamodel;
;
/* End XCVersionGroup section */
而坏掉的没有这个条目。
我在两台机器上对 /Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates 进行了目录比较,模板完全相同。
所以我想知道 Xcode 的哪一部分在我的主要开发机器上导致了上述差异。关于尝试的事情或可能导致此问题的任何建议?
【问题讨论】:
你能解决这个问题吗,我也打不开coredata模型文件 很遗憾没有。我使用我的另一台 Mac 笔记本电脑创建了初始模型并将其复制到我的主要开发机器上,这可以正常打开。 我几乎不得不创建一个新项目并复制模型 当我在里面添加带有模型的文件夹引用时遇到了同样的问题。我设法解决了单独添加 xcdatamodeld 文件的问题。也许它以某种方式连接到版本控制,但除了删除对 xcdatamodeld 文件的引用并单独添加它之外没有任何帮助。 如果您将文件类型显式更改为版本化核心数据模型(而不是默认设置),是否有帮助? (我曾经在 .nib/.xib 文件中遇到过类似的问题,我必须显式设置 Interface Builder 的文件类型,否则它们会以 XML 类型的代码出现。) 【参考方案1】:我遇到了类似的问题。问题在于项目目录结构以及它在 XCode 中的配置方式。
更多详情:XCode Cant' Edit CoreData Model
【讨论】:
【参考方案2】:我也遇到过这个。
通过在我的项目中打开 .xcdatamodeld 并从 Versioned Core 更改 文件类型(在文件检查器中),我终于能够让 xcode 4.6.3 恢复交互式编辑器数据模型到核心数据模型。后来,我能够将其改回 Versioned Core Data Model,并且一切正常。
【讨论】:
【参考方案3】:我遇到了同样的问题,但是通过在我的 Mac 上创建另一个用户帐户,我能够使用 Core Data 创建一个编辑器正常打开的项目。看来我的用户配置文件已损坏,无法通过重新安装 Xcode 来解决。
【讨论】:
【参考方案4】:创建新数据模型时,转到编辑器 > 添加模型版本
这为我解决了问题! :)
【讨论】:
【参考方案5】:我通过打开 xcdatamodeld 的包内容,将里面的同名文件拖出并使用它来解决了这个问题,感谢answer。
【讨论】:
以上是关于Xcode 数据模型编辑器未出现的主要内容,如果未能解决你的问题,请参考以下文章
xCode 4.2 核心数据如何在数据模型编辑器中使用 GUI 创建获取的属性?