【问题标题】:Xcode Includes .xib files that have been deleted!Xcode 包含已删除的 .xib 文件!
【发布时间】:2011-06-26 04:51:57
【问题描述】:

我有一个似乎无法解决的 Xcode 问题。我有一个视图控制器,可以调用“foobarViewController”,还有一个“foobarViewController.xib”伴随它。在这个控制器中,我对视图进行了泼溅,以使其看起来像我想要的那样,但决定务实地去做。所以我从项目中删除了 xib,清理了所有目标,重新启动了 xcode,重新启动了 COMPUTER,甚至删除了旧的构建文件夹,当我编译视图时仍然包含仅在 XIB 文件中的对象。

这是怎么回事?

【问题讨论】:

  • 您对代码和项目做了很多工作。但是您是从设备还是模拟器中删除了该应用程序?

标签: iphone xcode


【解决方案1】:

有时从设备/模拟器中删除应用程序非常烦人,尤其是当您保存了数据和配置时。

要解决此问题,请为您删除 .xib 文件的每个视图控制器添加以下代码:

-(NSString*) nibName
{
    return nil;
}

【讨论】:

    【解决方案2】:

    在 iOS 模拟器中 菜单 > 重新发送内容和设置

    足够了。

    【讨论】:

      【解决方案3】:

      Xcode 缓存 xib 文件。可能的解决方案是:

      1. 如果重命名视图控制器,视图将仅包含较新的 xib 文件。不会显示较旧的元素。

      2. 如果您决定摆脱 xib 文件并以编程方式创建视图,您可以覆盖 viewController 中的 loadView 方法。仅当您不想从 xib 文件加载视图并希望以编程方式创建视图时才覆盖此方法。

        • (void)loadView { self.view = [[[UIView alloc] init] autorelease]; }

      从设备/模拟器中删除应用然后重新构建它的问题:已经在他们的设备上安装了该应用并在其上安装了较新版本的用户将继续看到较旧的 xib。

      【讨论】:

        【解决方案4】:

        查看这篇文章:How to Empty Caches and Clean All Targets Xcode 4

        “Command-Option-Shift-K 清理构建文件夹。更好的是,退出 Xcode 并手动清理 Library/Developer/Xcode/DerivedData。删除所有内容,因为存在 Xcode 将运行旧版本的错误您的项目在某处。

        在模拟器中,选择 iOS Simulator > Reset Content and Settings。

        最后,为了完整起见,您可以删除 /var/folders 的内容;那里也发生了一些缓存。” - Matt

        【讨论】:

          【解决方案5】:

          在 XCode4 中,Command-Option-Shift-K 应该可以完成这项工作。与产品相同,按选项键,现在选项“清理”将更改为“清理构建文件夹...”选择该选项。

          【讨论】:

            【解决方案6】:

            您是否从模拟器中删除了该应用程序?当 Xcode 在模拟器或设备上安装开发版本时,它不会删除现有文件。它只是覆盖文件并添加新文件。这意味着如果您从 Xcode 中删除一个文件,它将留在已安装的构建产品中。解决方案是在安装之前从您的模拟器/设备中删除该产品。

            【讨论】:

            • 这确实应该被认为是正确的答案,因为它解释了根本原因,而不是要尝试的咒语的散乱列表。我要补充一点,从 App Store 或 .ipa 安装时,问题确实不会发生。
            【解决方案7】:

            AppDelegate 加载 MainWindow.xib,在 MainWindow 中,它包含您的 foobarViewController.xib,因此会出现您的问题。尝试编辑 MainWindow,将其指向您的控制器类而不是包含 xib。

            【讨论】:

            • 我的主窗口是什么?我怎么知道?
            • 有 3 种方式(据我所知)来定义 MainWindow:
            • 1.在 Info.plist 中,您可以在那里命名您的 MainWindow xib 文件,它被称为“Main nib 文件基本名称”或“NSMainNibFile” 2. 在 AppDelegate 中,您可以分配/初始化您自己的主窗口 3. 在 XCode 4 ,你的项目中有一个“主界面”文本字段(与1相同)(哎呀,我在完成评论之前按了Enter)
            【解决方案8】:

            试试这三件事:

            • 从模拟器中删除应用

            来自 Xcode:

            • 构建菜单 -> 清理所有目标 -> 选中两个框 -> 清理
            • XCode 菜单 -> 空缓存... -> 空

            【讨论】:

            • (从模拟器菜单栏)iOS模拟器->重置内容和设置
            • 我在 XCode 4.6.3 的任何地方都看不到“空缓存”。认为他们可能取消或移动了它。无论如何,在 XCode 中进行清理并重置模拟器对我来说是成功的!谢谢。
            【解决方案9】:

            你确定它被删除了吗?您可能只删除了对它的引用。打开项目文件夹并确保它不存在。更好的是,在聚光灯下搜索文件名。

            如果您找不到该文件,它仍然无法解析,并且您以编程方式制作了视图控制器,请尝试将代码粘贴到文本编辑器中,删除类,然后重新制作并将代码粘贴回。

            【讨论】:

            • 我也有同样的问题。在聚光灯下找到它(左上角的搜索)不会显示任何结果。
            猜你喜欢
            • 2011-04-15
            • 2016-02-27
            • 2012-02-11
            • 2014-01-14
            • 1970-01-01
            • 2017-09-19
            • 1970-01-01
            • 2011-03-21
            • 1970-01-01
            相关资源
            最近更新 更多