SplitView[1290:307] Could not load the "canary04.png" image referenced from a nib in the bundle with identifier "xx.co.mycompany.ipad.SplitView"
我只在设备上运行时遇到错误。在模拟器中运行没有问题。
我正在使用UIImageView在界面构建器中直接使用该图像。
编辑:我已经为不同的笔尖添加了一个不同的新图像,这没有任何问题。
有人有什么想法吗?
答案 0 :(得分:130)
它可能没有添加到您的目标中,在XCode 4中您可以这样做:
为我修好了。
答案 1 :(得分:28)
iOS设备上的文件系统区分大小写,因此很可能是一个案例问题。 (Mac OS X通常不区分大小写,因此您在模拟器中没有看到此问题。)
因此,检查您在代码中使用与文件名本身相同的大小写。
答案 2 :(得分:20)
您是否在XCode(蓝色文件夹)中的引用文件夹中有图像?如果是这样,你必须在图像路径中包含文件夹名称,如“Images / canary04.png”
答案 3 :(得分:14)
1 只需在命令shell中执行grep即可找到引用图像的字符串:
grep -R 'canary04.png' YourMainDirectoryFolder/*
2 它会给你(例如)这样的输出:
YourProject/en.lproj/YourViewController.xib:
<textField borderStyle="roundedRect" background="canary04.png" id="19">
3 您现在知道哪个nib文件和哪个元素。只需进入文件并删除引用。
答案 4 :(得分:8)
答案 5 :(得分:5)
您可以执行此操作以从故事板或笔尖进行检查。打开它作为源代码:
然后“查找”其中的图像名称,查看它是否存在但在项目中已经无效,可能您已删除或更改了其名称,现在它似乎无效。
答案 6 :(得分:5)
将图像另存为PNG-24。它对我有用
答案 7 :(得分:4)
您是否已将该文件包含在目标中?右键单击Xcode中的Target,选择Get Info并选择顶部的“Targets”组。确保检查您的预期目标。
祝你好运。
修改强> 上面的文字应该已阅读在Xcocde中右键单击文件(canary04.png)并选择获取信息...
抱歉打字错误。
答案 8 :(得分:4)
升级到Xcode 4.4.1时遇到了这个问题。我发现虽然我已经删除了故事板中的图像(和相应的按钮等),但我的故事板文件中仍然提到它们(在tabBarItems字段中)。我手动评论了他们(),产品 - &gt;干净,我没有再收到错误。
我知道故事板中必须有虚假引用,因为我之前删除了我的TabBar并且当前的应用程序没有问题,只是在控制台中有令人讨厌的消息。
答案 9 :(得分:3)
解决方案1:
在我的情况下,我复制了包含图像的文件夹,甚至选中了“目的地:根据需要复制项目”。但是它尚未添加到“Build Phases”的“Copy Bundle Resources”中。
您可以按如下方式添加图片:
解决方案2:
通过选择“Move to thrash”删除图像。再次在项目中添加图像,并选中“目的地:复制项目(如果需要)”。
Note : Make sure that you add images in Assets.xcassets folder and not outside it.
答案 10 :(得分:3)
在我的情况下,这是因为Photoshop没有正确保存我的文件。在文件保存对话框中,我单击myfile.png试图覆盖该文件,并且它使用png扩展名保存文件,但是以photoshop格式保存。
我必须确保在单击要覆盖的文件之前实际将文件格式更改为PNG,从而保存在实际的png文件中,因此可以被iOS读取。有趣的是,界面构建器显示我的psd-as-png文件就好了。
更一般地说,确保您的文件实际上采用您认为的格式,因此iOS正在期待。
答案 11 :(得分:3)
我有同样的问题。试着
它与我合作
答案 12 :(得分:2)
我也遇到了这个错误。我将描述我的情景:
我有一个子目录“img”,里面有一些png 其中一个png是“ic_timeprogress_000.png”
在故事板(视觉设计师)中,我有一个imageView,图像设置为“ic_timeprogress_000.png”(不是以编程方式)。设计师正确显示了imageView:
虽然在运行应用程序时,却抛出了错误。
所以在故事板中我改变了(我坚持:不是以编程方式)从“ic_timeprogress_000.png”到“img / ic_timeprogress_000.png”,导致无法正确显示设计器中的图像但在运行时正确显示(无错误) )
虽然我以编程方式改变imageView.image
,但是这个“初始图像”从未使用过。
答案 13 :(得分:1)
我还遇到了无法成功加载jpeg文件的问题,但是我解决了它而没有将它们更改为png格式:例如,如果你有一个名为&#34; bg.jpg&#34; <的图像/ strong>,不要在故事板中使用&#34; bg&#34; (此名称列在下拉列表选择列表中),而应明确写入&#34 ; bg.jpg&#34; 在名称字段中。
对于基于编程的图像视图,我想使用像[UIImage imageNamed:@"xx.jpg"]
这样的.jpg扩展也应该可以工作(尽管我做了测试)。
答案 14 :(得分:1)
我在iOS 8中遇到了另一个问题。在我的情况下,问题是我为图像集选择了特定于设备,然后选择了iPad。将此更改回通用修复了问题。
此设置可在images.xcassets文件中找到,在第三列中显示图像集的属性检查器。
在这种情况下,即使您已将图像添加到images.xcassets,图像也不会显示在故事板或NIB文件中。它们也不会在模拟器或设备中显示。
答案 15 :(得分:1)
当我尝试在Interface Builder(.xib)文件中设置imageView的图像时,我遇到了这个问题。
(我使用的是图像资产)
我有theImage.jpeg
和theImage@2x.jpg
的2张图片
Interface Builder可以在编译时使用这些jpg / jpeg
格式显示真实图像。但我在运行时遇到了这个错误:
Could not load the "theImage" image referenced from a nib in the bundle with identifier "org.etc.etc"
然后我将图像文件格式更改为.png
并且它有效!
如果您尝试设置的图片格式不同,请尝试使用此解决方案。
答案 16 :(得分:1)
检查以确保项目中存在canary04.png
,并且该项目未被删除。
答案 17 :(得分:1)
检查您的图片名称。如果它包含一些空格,那么图像将在模拟器中运行时显示,但不会在设备中运行。运行时会检查区分大小写的名称等。
答案 18 :(得分:1)
我的问题是我将图像保存为.jpg并将名称更改为.png(仍为jpg格式)。它适用于模拟器
答案 19 :(得分:0)
在我的情况下,所有图片都在使用&gt; iOS 7而不是iOS 6.1的设备上正常显示。
解决方案是iOS7区分大小写,但iOS 6.1不适合我。我的图像名为“myImageName”,并且名为“myimagename”,导致我的旧iPhone 3无法显示这些图像。
所以重命名就解决了它。
答案 20 :(得分:0)
在这里尝试了每一个答案,没有,所以这里是另一个小故障,你的图标名称不能有点(。)因为如果它(和Xcode允许你这样做!),而图标在故事板中显示得很好,他们赢了不要在模拟器或设备中加载。
答案 21 :(得分:0)
我对Xcode 5有这个问题,似乎“合并高分辨率艺术品”是罪魁祸首。我打开了应用程序包,所有图像都是* .tiff,导致图像“找不到”:S
<强> FIX 强>:
打开项目设置,在顶部搜索“合并”。将该设置更改为NO。
出于某种原因,每个人都错过了这个重要的解决方案。
答案 22 :(得分:0)
也许在设置按钮的图像后,您更改了图像的名称。
答案 23 :(得分:0)
2015 - 仍然有这个问题。我正在引用一个标签按钮中不再存在的图像。
<强>解决方案:强> 只需检查所有按钮,UIImage等,并确保您引用的图像实际存在于项目中。
答案 24 :(得分:0)
当我意外地将另一个图像集添加到资产目录文件时,我遇到了这个问题。我意识到错误之后将其重命名,但似乎没有用。
删除文件并再次添加它可以解决问题。
答案 25 :(得分:0)
我遇到了同样的问题,如果您的图片位于子文件夹中,则需要在复制资源时选择“为子文件夹创建组”选项。
答案 26 :(得分:0)
我也面临同样的问题,因为我在photoshop中编辑了图像并保存为psd格式,请确保在我的情况下以jpg或png格式保存你的photoshoped图像,这是问题希望它有所帮助谢谢
答案 27 :(得分:0)
JPEG格式确实在iOS中的发布模式下出现此错误。这可能发生在XCode优化发布代码时。尝试用JPEG替换图像,它将解决问题。
答案 28 :(得分:0)
我的麻烦不是上述情况。我将iconFolder放在Xcode项目的文件夹中。
导入时,选择“需要时复制项目”和“创建组”。
它对我有用。
答案 29 :(得分:0)
无论出于何种原因,将文件扩展名添加到图片标题的末尾就是为我解决的问题。
它正在引用&#34; canary04&#34;那就是我的标题图像,但是一旦我将图像标题更改为图像本身的标题(canary04.png),它就解决了。
答案 30 :(得分:0)
检查图像名称。然后检查是否可以在paint或photoshop中打开图像。如果图像是在photoshop中创建的,那么有时会出现与.png
的冲突答案 31 :(得分:0)
尝试清理项目并确保info.plist与xx.co.mycompany.ipad.SplitView匹配