1

当您从具有 .xib 文件的 Xcode 模板开始时,该 .xib 文件会列在 Compile Sources 构建阶段。这对我来说很有意义,因为在构建过程中,需要将 .xib 文件转换为 .nib 文件(带有ibtool),而且确实如此。

但是在重命名我的 .xib 文件并添加一些新文件时,我最终遇到了我的 .xib 文件都没有在编译源构建阶段列出的情况。相反,它们都列在 Copy Files 构建阶段。我无法解决这个问题。(不要让我开始

但事实证明我不必修复它!当我构建时,我可以查看构建应用程序的包,我看到它有 .nib 文件,而不是 .xib 文件。.xib 文件不会被复制到资源文件夹中,即使它们处于复制文件构建阶段;它们正在被编译,即使它们不在编译源构建阶段。

我可以通过查看构建日志来确认这一点:

CompileXIB "MyApp/en.lproj/ViewController~iphone.xib"
CompileXIB "MyApp/en.lproj/ViewController~ipad.xib"

怎么会这样?

编辑:现在我无法重现我最初的前提!正如一位受访者所说,模板没有将 .xib 文件置于编译源构建阶段。然而,我确实最终遇到了一些 .xib 文件处于编译源构建阶段而一些处于复制构建阶段的情况,这让我感到困惑。

4

1 回答 1

1

当我使用“Cocoa Application”模板为 OS X 创建一个全新的 Xcode 项目时,该项目的唯一.xib文件未在“Compile Sources”下列出,它在“Copy Bundle Resources”下列出。所以我不确定你.xib的 's 是如何/为什么首先被列在 Compile Sources 下的。

至于它们是如何使用命令自动编译的CompileXIB,我怀疑这是由于 Xcode 的构建规则称为“Interface Builder XIB Compiler”,它适用于所有 Interface Builder 文件。

于 2013-04-07T17:51:20.657 回答