Xcode:Interface Builder XIB编译器错误

4

Xcode 5.1.1和OS X 10.9.3

我打开Xcode并开始一个新的Cocoa项目。然后我点击运行。构建失败,我得到以下错误消息:

Interface Builder XIB Compiler Error
Interface Builder was unable to determine the type of "MainMenu.xib".

当我选择MainMenu.xib时,我没有看到通常的所见即所得编辑器,而是一片黑屏。我注意到文件的“类型”为“默认-抽象界面构建器文件”,而在我过去构建的其他工作项目中,“类型”为“默认-界面构建器文件”。似乎这个文件是“抽象”的,导致Xcode无法显示界面构建器。
我尝试完全卸载Xcode并从应用商店重新下载它。没有帮助。多次谷歌搜索没有得到有用的结果,其他标题与我的类似的Stack Overflow问题也没有什么启示。我想象不到每个安装Xcode 5.1的人都会遇到这个问题。有没有专家能够建议一个快速解决方案? enter image description here enter image description here enter image description here enter image description here

1
你需要MainMenu.xib中的工作吗?因为你可以从另一个新项目中获取MainMenu.xib模板,并进行一些微调以将其应用到你的项目中。 - stevesliva
@stevesliva,你的建议让我走上了正确的道路,并且我已经回答了下面的问题。我不能简单地从另一个新项目中获取模板。我只需要添加一个新的.xib文件。很奇怪。 - ryantuck
更新:升级到Xcode 6解决了这个问题。 - ryantuck
4个回答

2

我已经通过在项目设置->构建阶段->复制捆绑参考中删除重复引用来解决了这个问题。


2

啊哈!这个解决方案真是荒谬!希望这能帮到某些人。

添加一个新的xib文件!

并且彻底删除旧的MainMenu.xib。新的xib将会如预期一样显示出来。

enter image description here

但是等等,还有更多细节!

我不确定是因为我的Xcode非常损坏,还是其他问题,但是这就是我必须要做的才能成功运行应用程序的步骤:

1 - 前往项目的通用设置并将主界面设置为你的新xib文件名不要包括.xib 扩展名!否则,在控制台输出中你会看到Unable to load nib file。请参考图片进行比较。这能让你的空白应用程序窗口在运行时弹出。

enter image description here enter image description here

2 - 现在你需要让你的应用委托去做些事情。从对象库中拖拽一个Object到接口构建器中的对象列表。将其类定义为你的应用委托类名,该对象会自动重命名为“App Delegate”。

enter image description here

3 - 从Application控件中拖拽并控制拖曳到App Delegate并选择“delegate”。现在你的应用委托代码将能够工作。

4 - 在applicationDidFinishLaunching方法中添加一条NSLog(@"app success!");语句来确认你做的一切都是正确的,点击运行,观察窗口是否弹出,并将NSLog输出到控制台,然后祝贺自己让一个苹果产品按照设计应该表现的那样工作了。


确保文件的所有者也是NSApplication类。(可能需要一些菜单功能才能正常工作)但是,是的,这或多或少就是我想说的,尽管我会删除旧的MainMenu.xib文件并添加一个新的MainMenu.xib文件,并进行应用程序委托类调整——那不起作用吗? - stevesliva
是的 - 文件的所有者默认设置为NSApplication类。我本来可以将.xib重命名为'MainMenu.xib',这样就可以了。我只是在删除旧文件之前添加了新文件,所以选择了不同的名称。 - ryantuck

0
当我在组织名称中使用特殊字符(&)时,我在一个全新的项目中遇到了类似的错误。虽然OP似乎没有这种情况,但也许这会帮助其他人找到他们的方式。这似乎是Xcode 6的一个新bug。

0
我通过在Spotlight中搜索后打开“Xcode-Macintosh HD”而不是“Xcode-Developer”来解决了问题。(Spotlight是右上角的放大镜)

你想要传达什么? - Developer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接