无法加载从设备上运行的包中的nib引用的映像

The*_*ner 63 iphone xcode objective-c

__PRE__

我只在设备上运行时收到错误.在模拟器中运行没有问题.

我正在使用UIImageView在界面构建器中直接使用该图像.

编辑:我已经为不同的笔尖添加了一个不同的新图像,这没有任何问题.

有人有主意吗?

Pet*_*ill 130

它可能没有添加到您的目标,在XCode 4中,您可以这样做:

  • 在项目视图中,单击您的项目名称
  • 选择目标并选择"构建阶段"选项卡
  • 将图像文件拖到"复制包资源"部分

这为我解决了这个问题.

  • 这是他们从未在书中教过的东西.课程:如果您遇到图像问题,请务必选中"复制捆绑资源" (9认同)

Joh*_*ker 28

iOS设备上的文件系统区分大小写,因此很可能是一个案例问题.(Mac OS X通常不区分大小写,因此您在模拟器中没有看到此问题.)

因此,检查您在代码中使用与文件名本身相同的大小写.

  • 我正在引用界面构建器中的图像引导 (3认同)
  • @TheLearner好的.您是否尝试从设备上删除应用程序然后重新安装?(有时会出现资源未被"推送"到应用程序的问题.) (2认同)

Ken*_*ner 20

您是否在XCode(蓝色文件夹)中的引用文件夹中有图像?如果是这样,你必须在图像路径中包含文件夹名称,如"Images/canary04.png"


Mic*_*ick 14

简单的方法

1只需在命令shell中执行grep即可找到引用图像的字符串:

grep -R 'canary04.png' YourMainDirectoryFolder/*
Run Code Online (Sandbox Code Playgroud)

2 它会给你(例如)一个像这样的输出:

YourProject/en.lproj/YourViewController.xib: 

<textField borderStyle="roundedRect" background="canary04.png" id="19">
Run Code Online (Sandbox Code Playgroud)

3您现在知道哪个nib文件和它是哪个元素.只需进入文件并删除引用.


小智 8

  1. 删除图像所在的蓝色文件夹.
  2. 再次导入并选择"如果需要,复制项目".
  3. 选择"创建组"NOT文件夹


Man*_*ann 5

将图像另存为PNG-24.这个对我有用


Tom*_*Tom 5

您可以执行此操作以从故事板或笔尖进行检查.打开它作为源代码:

在此输入图像描述

然后"查找"其中的图像名称,查看它是否存在但在项目中已经无效,可能您已删除或更改其名称,现在它似乎无效.

在此输入图像描述