【问题标题】:Could not load "my-icon.png" image referenced from a nib (iPhone)无法加载从笔尖 (iPhone) 引用的“my-icon.png”图像
【发布时间】:2011-02-11 03:50:20
【问题描述】:

我收到以下错误消息:

2011-02-11 14:47:13.815 myProject[13177:207] Could not load the "icon-troubleshoot.png" image referenced from a nib in the bundle with identifier "com.myCompany.myProject"

此文件是以前使用过的旧文件,但现在已被删除。据我所知,icon-troubleshoot.png 在我的项目中的任何地方都没有使用。我尝试清理和重建,清空缓存,但没有奏效。搜索字符串故障排除作为文本参考并选择“包含”没有返回任何内容。有谁知道我如何找到导致此错误的原因?

【问题讨论】:

  • 检查您的 nib 文件中的每个对象,看看其中是否有任何引用。
  • 我的评论可能看起来很愚蠢,但是...您确定 .png 文件已添加到您的项目包中吗?此错误通常意味着 nib 加载器在您的主包中找不到 .png 资源。
  • @BoltClock:我已经查看了 nib 文件,但找不到任何东西。 @lomanf:我已经删除了该文件,因为它不再需要使用了
  • 抱歉。我不清楚。

标签: iphone nib


【解决方案1】:

警告消息表明您的 .xib 或 .nib 文件中存在对此 png 文件的引用。

现在的问题是如何找到它。 Xcode 在这方面做得很差。在 textedit 等文本编辑器中打开每个 nib 文件并手动搜索非常耗时。

我对此类搜索任务的最佳解决方案是启动终端并使用 grep 命令。转到终端中项目的源文件夹,然后您可以在您的情况下运行以下命令:

    grep -i -r --include=*.xib "my-icon.png" ./

这将返回所有引用 my-icon.png 的 *.xib 文件。 稍后当您在 xcode 中看到这些 *.xib 文件时,您会发现一个“?”代替 my-icon.png 签名,显示该图像在您删除时确实丢失了。现在您将其删除以将其替换为另一个图像。所以选择“?”标记符号,打开实用程序区域(右侧)并选择正确的文件名。就这些。

【讨论】:

    【解决方案2】:

    据我所知,x-code 的搜索工具不会在 xib 文件中搜索,这就是您的搜索不返回任何内容的原因。无论如何,很可能在某处的 xib 文件中仍然存在引用。因为 xib 文件只是 xml,如果您不想手动检查所有文件,请尝试使用 TextMate 等文本编辑器打开所有 xib,并对 .png 文件名的内容执行全局文本搜索。

    希望这会有所帮助。 咻!

    【讨论】:

    • 可以使用终端和 grep 命令对文件执行更快的搜索。看我的回答。
    【解决方案3】:

    清理整个项目并重新编译。

    【讨论】:

    • 这解决了我的问题。您还可以仔细检查派生数据文件夹以查看资产是否存在,可能还有另一个错误案例。
    【解决方案4】:

    其中一个 nib 中必须有对该文件的引用。如果找不到,请尝试删除使用该图像的 nib 文件,然后创建一个新文件。

    此外,请检查您的捆绑包以获取对图像文件的引用。

    【讨论】:

      【解决方案5】:

      我遇到了同样的问题,我发现当我在项目中包含这个文件时,我没有指定我的开发和分发目标,只指定了开发,所以当我尝试构建分发目标时,它不是成立。您必须删除对此图像的引用,然后重新添加它,并确保选中所有应该在其中找到它的目标。

      【讨论】:

        【解决方案6】:

        如果您只有一个 imageName@2x.png 图像并且运行的是低分辨率非视网膜显示版本,则可能会发生这种情况。

        在您喜欢的图像编辑器中将高度和宽度切成两半,然后将其保存在与 @2x as imageName.png 相同的文件夹中

        【讨论】:

          【解决方案7】:

          在解决方案资源管理器中选择您的故事板对象,右键单击故事板->“打开方式”->“源代码”,现在您将看到来自故事板的 xml 代码。使用 Cmd+F 搜索您的图像名称并替换或删除它。

          【讨论】:

            猜你喜欢
            • 2012-09-22
            • 2017-11-10
            • 2016-11-30
            • 1970-01-01
            • 2011-05-26
            • 2018-12-17
            相关资源
            最近更新 更多