无法在Xcode项目中创建新的xib文件

3

这个问题有点复杂...

我的朋友在他的Snow Leopard MacBook Pro上下载了iPhone SDK。无论他创建什么样的项目(Window Based、View Based等),他都无法创建或使用自己的xib文件。该项目将编译和运行良好,直到他添加新的xib文件。

以下是一些症状:

  • 当他在Xcode中选择预生成的xib文件(如MainWindow.xib)时,右侧不会显示预览。双击此文件将在界面构建器中打开它(这是正确的行为)。
  • 当他选择自己的自定义xib文件时,预览窗格会显示xib的XML内容。双击他的自定义xib将在Xcode中打开XML文件,就像它是标准代码文件一样(这很糟糕)。
  • 从Finder中打开他的自定义xib会在界面构建器中打开它。
  • 在构建应用程序时,构建警告会显示“警告:没有处理源代码类型为sourcecode.xib的文件/path/to/CustomXib的规则,适用于架构i386”
  • 运行时,他会收到以下错误:

    Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIViewController _loadViewFromNibNamed:bundle:] was unable to load a nib named "MyCustomXib"'

我们已经通过命令行卸载并重新安装了Xcode。我已经验证了它是适合他的机器的正确版本。我被难住了!

5个回答

1

错误...

警告:没有处理源代码类型为sourcecode.xib的文件/path/to/CustomXib的规则,适用于i386架构

...建议检查nib文件是否在“编译源代码”构建阶段中。打开目标,然后打开“编译源代码”,查看nib文件是否在列表中。如果是,请将其移动到“复制包资源”中,然后尝试重新编译。


xib文件应该被编译。它们会编译成nib文件。 - Peter Hosey
然而,.xib文件不应该出现在目标的“编译源”阶段中。如果确实出现了这种情况,尝试将其移动到正确的位置以解决此问题是合理的。 - TechZen
如果你因为别人在奇怪的问题上提出建议而批评他们,那么人们就会停止冒险提出自己的看法。在这种情况下,简单地评论一下你不认为这是错误的源头就足够了。这不是那种任何给定答案都绝对错误的问题。在这种情况下,错误的答案仍然可以通过触发一个认识或揭示测试错误答案中的信息来导致正确的解决方案。 - TechZen
哦...你说得对。我以为我在“编译源代码”中看到了我的xib文件,但它们实际上在“复制包资源”中,尽管Xcode会编译它们。抱歉。 - Peter Hosey

1

是的,我也遇到了这个问题,并且从Tiger直接升级到了Snow Leopard。对我来说解决方法是将nib文件的文件类型从sourcecode.xib更改为file.xib(在nib文件上控制点击,选择“获取信息”,并在下拉菜单中修改“文件类型”)。


0

尝试将xib文件类型从“sourcecode.xib”更改为“file.xib”。 “sourcecode.xib”似乎会尝试将文件视为源文件,而不是(默认的)xib文件。


0
这是一个彻底的放弃,但在折腾了Xcode、OS X、终端并且没有任何进展之后,我们决定清除机器并重新开始。这个错误可能是直接从Tiger升级到Snow Leopard的后果,并且有一些奇怪的残留设置。

0

当我通过File->New_file->在XCode中创建一个UIViewController子类时,似乎我的xib文件保存了错误的文件信息。

当我将文件信息更改为与MainWindow.xib相同,并将其从目标编译文件夹移动后,它就可以正常工作了;它可以编译并在界面构建器中启动。

PS:我也直接从Tiger升级到Snow Leopard,所以这可能是混合Xcode设置的候选项?


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