【问题标题】:Can't create new xib files in Xcode projects无法在 Xcode 项目中创建新的 xib 文件
【发布时间】:2011-01-14 22:22:02
【问题描述】:

这个太牛了……

我的好友刚刚在他的 Snow Leopard MacBook Pro 上下载了 iPhone SDK。无论他创建什么样的项目(基于窗口、基于视图等),他都无法创建或使用自己的 xib 文件。在他添加新的 xib 文件之前,该项目将编译并运行良好。

以下是一些症状:

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

    由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:'-[UIViewController _loadViewFromNibNamed:bundle:] 无法加载名为“MyCustomXib”的 nib'

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

【问题讨论】:

    标签: iphone cocoa xcode macos interface-builder


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      错误...

      警告:没有规则来处理文件 /path/to/CustomXib 类型 架构 i386 的 sourcecode.xib"

      ... 建议 nib 出于某种原因处于“编译源”构建阶段。打开目标,然后打开 Compile Sources 并查看 nib 是否在此处列出。如果是,请将其移至“复制捆绑资源”并尝试再次编译。

      【讨论】:

      • xibs 应该被编译。它们编译成 nib 文件。
      • 尽管如此,.xib 文件不应该出现在目标的“编译源”阶段。如果确实出现在那里,尝试将其移动到适当的位置以解决此问题是合理的。
      • 如果你通过对奇怪的问题提出建议来嘲笑人们伸出脖子,人们就会停止伸出脖子。在这种情况下,您认为这不是错误来源的简单评论就足够了。如果任何给定的答案肯定是错误的,这不是那种问题。在这种情况下,错误的答案仍然可以通过触发实现或在测试错误答案时揭示信息来导致正确的解决方案。
      • 嗯……你说得对。我以为我在 Compile Sources 中看到了我的 xib 文件,但它们在 Copy Bundle Resources 中,即使 Xcode 编译它们。对不起。
      【解决方案3】:

      这是一个彻底的警察,但在搞砸了 Xcode、OS X、终端并且没有看到任何进展之后,我们决定擦除机器并重新开始。该错误可能是直接从 Tiger 升级到 Snow Leopard 的结果,并且有一些奇怪的剩余设置。

      【讨论】:

        【解决方案4】:

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

        当我将文件信息更改为与 MainWindow.xib 相同的信息,并将其从 Target 编译文件夹中移出时,它工作正常;它在界面生成器中编译和启动。

        PS:我也是直接从Tiger升级到了Snow Leopard,这样可以作为Xcode的混合设置吗?

        【讨论】:

          【解决方案5】:

          是的,我也遇到了这个问题,也将目录从 Tiger 升级到了 Snow Leopard。我的解决方法是将 nib 文件的文件类型从 sourcecode.xib 更改为 file.xib(控制单击 nib 文件,选择“获取信息”,然后在下拉列表中修改“文件类型”。

          【讨论】:

            猜你喜欢
            • 2015-02-20
            • 1970-01-01
            • 2015-11-20
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2015-08-02
            相关资源
            最近更新 更多