当您从具有.xib文件的Xcode模板开始时,该.xib文件将在Compile Sources构建阶段中列出。这对我来说很有意义,因为在构建过程中,.xib文件需要转换为.nib文件(带ibtool
),并且它是。
但是在重命名我的.xib文件并添加一些新文件时,我最终遇到了编译源构建阶段中列出了我的.xib文件的 none 的情况。相反,它们都列在“复制文件”构建阶段中。我无法解决这个问题。 (不要让我开始关于 。)
但事实证明我没有必要解决它!当我构建时,我可以查看构建的应用程序的包,我看到它有.nib文件,而不是.xib文件。 .xib文件不被复制到资源文件夹中,即使它们处于复制文件构建阶段;它们正在编译,即使它们不在编译源构建阶段。
我可以通过查看构建日志确认这一点:
CompileXIB "MyApp/en.lproj/ViewController~iphone.xib"
CompileXIB "MyApp/en.lproj/ViewController~ipad.xib"
这怎么可能?
编辑:现在我无法重现我最初的前提!正如一位受访者所说,模板没有将.xib文件放在Compile Sources构建阶段。然而,我当然最终遇到了一些.xib文件处于Compile Sources构建阶段而一些处于Copy构建阶段的情况,这让我很困惑。答案 0 :(得分:1)
当我使用“Cocoa Application”模板为OS X创建一个全新的Xcode项目时,项目的唯一.xib
文件未列在“编译源”下,它列在“复制包资源”下。所以我不确定你的.xib
是如何/为什么首先被列在Compile Sources下面。
至于如何使用CompileXIB
命令自动编译它们,我怀疑这是由于Xcode的Build Rule称为“Interface Builder XIB编译器”,它运行所有Interface Builder文件。