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 创建获取的属性?

在 Xcode 数据模型编辑器中的配置之间移动实体

无法在 Xcode 中打开数据模型文件

Xcode 4 Core Data:如何使用在数据模型编辑器中创建的获取属性

Xcode 没有生成正确的 coredata 模型文件

[NSBundle allBundles] 中未出现单独的 CoreData 模型