XCode 使用不在项目文件夹内的 .xib

Posted

技术标签:

【中文标题】XCode 使用不在项目文件夹内的 .xib【英文标题】:XCode uses an .xib not inside the project folder 【发布时间】:2010-10-05 12:33:20 【问题描述】:

我回到一个旧项目并成功地为 OS 4.1 重新编译并运行它。我被要求向选项卡栏添加第四个选项卡,但我无法将其类设置为新添加的 ModelsVC.h/.m。 [编辑:因为它没有出现在类下拉列表中,但其他视图控制器在那里。]

我将项目文件夹移至备份文件夹,并解压缩了同一个项目一个月前的备份。对于连接到第一个选项卡的第一个(默认)视图,它会编译并运行直到 viewWillAppear 结束,然后什么也不做。它仍在运行,但什么都没有显示,也没有任何反应。

在控制台中,它显示“Interface Builder 文件中的未知类 ModelsVC。”

问题是,这个类在两个月前是不存在的,那么老项目为什么要这样抱怨甚至知道呢?

我想知道在哪里查看/告诉 XCode 使用当前正在编译的项目文件夹中的 .xib。

如果它与路径相关,我如何检查 XCode 在加载/编译项目时查看的路径?

【问题讨论】:

【参考方案1】:

要让 Xcode 在项目文件夹中运行 .xib 文件,您只需打开您的 xcode,添加现有文件即可。

我认为旧项目仍在运行的问题在于它是增量构建的。这意味着当它第一次构建时,.xib 文件就在那里,而当它第二次构建时,它不再需要添加和构建 .xib 文件。所以,在第二次构建中,即使你删除并移出 .xib 文件,我认为它仍然可以构建

【讨论】:

做了一个干净的构建,结果是几个月前工作的项目现在显示黑屏,没有任何错误消息。 经过一些随机清理和基本 sdk/target 操作系统版本,并重置 iPhone 模拟器,我现在运行了几个月前的项目。通常显示 Appname|Simulator 4.01|Release(或类似)的发布/调试下拉列表现在仅显示“发布”。但它正在运行! 说实话真的很奇怪 现在看来我可以继续开发应用程序了,我添加了一个视图控制器,新的 xib 连接似乎仍然存在。如果我冒险猜测,我会说在 XCode Project 文件夹中有两个不同名称的项目文件夹,它们具有相同的 .xcodeproject 名称会混淆它(我曾经做过),如果有人有更好的主意,我就是全部耳朵。【参考方案2】:

无论出于何种原因(例如快速备份以尝试一些实验性的东西),项目文件夹似乎都是“草率的副本”,这会导致混淆。见this。

【讨论】:

以上是关于XCode 使用不在项目文件夹内的 .xib的主要内容,如果未能解决你的问题,请参考以下文章

新 Xcode 项目中的 MainWindow.xib 在哪里?

Xcode 4.3 停止构建 XIB 文件

Interface Builder XIB 编译器错误

如何将本地化的界面文件(XIB、Storyboard)作为 xcode 项目结构并进行国际化工作?

将 xib 文件迁移到 Xcode 4.4

Xcode 突然损坏了我的 xib 文件