我收到以下错误消息:
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
。我尝试清理和重建,清空缓存,但它没有用。搜索字符串疑难解答作为文本引用并选择“包含”返回任何内容。有谁知道我怎么能找到导致这个错误的原因?
答案 0 :(得分:12)
警告消息表明.xib或.nib文件中存在对此png文件的引用。
现在的问题是如何找到它。 Xcode很难做到这一点。在texttedit和手动搜索等文本编辑器中打开每个nib文件非常耗时。
我对此类搜索任务的最佳解决方案是启动终端并使用grep命令。转到终端中项目的源文件夹,然后在您的情况下运行以下命令:
grep -i -r --include=*.xib "my-icon.png" ./
这将返回引用my-icon.png的所有* .xib文件。 稍后当您在xcode中看到那些* .xib文件时,您会发现'?'签名代替my-icon.png显示图片确实在您删除时丢失了。现在您删除它以将其替换为另一个图像。那么选择'?'标记符号,打开“实用工具”区域(右侧)并选择正确的文件名。就这些。
答案 1 :(得分:9)
据我所知,x-code的搜索工具不会在xib文件中搜索,这就是为什么你的搜索没有返回任何内容。无论如何,在某个地方的xib文件中仍然存在一个引用。因为xib文件只是xml,如果您不想手动检查它们,请尝试使用TextMate等文本编辑器打开所有xib,并对内容中的.png文件名执行全局文本搜索。
希望这会有所帮助。 侨!
答案 2 :(得分:3)
清理整个项目并重新编译。
答案 3 :(得分:1)
必须在其中一个笔尖中引用此文件。如果找不到,请尝试删除使用该图像的nib文件,然后创建一个新文件。
另外,请检查您的捆绑包以获取对图像文件的引用。
答案 4 :(得分:1)
我有完全相同的问题,我发现当我在项目中包含此文件时,我没有指定我的开发和分发目标,只有开发,所以一旦我尝试构建分发目标,它就不是找到。您必须删除对此图像的引用,然后重新添加它,并确保勾选应该找到的所有目标。
答案 5 :(得分:0)
如果您只有imageName@2x.png图像且运行低分辨率非视网膜显示构建,则可能会发生这种情况。
在您喜欢的图像编辑器中将高度和宽度切成两半,然后将其保存在与@ 2x相同的文件夹中,如imageName.png
答案 6 :(得分:0)
在解决方案资源管理器中选择您的故事板对象,右键单击storyboard->“打开为” - >“源代码”,现在您将看到故事板中的xml代码。使用Cmd + F搜索图像名称并替换或删除它。