我正在将iOS 6通用应用程序(适用于iPhone和iPad)更新到iOS 7,我想使用Images.xcassets将图像存储在其中。
对于通用图像(如某些在iPhone和iPad上相同的按钮),此存储工作正常。但是对于特定于设备的图像,它无法正常工作,并且我在iPhone模拟器上遇到以下错误:
CUICatalog: Can't find rendition for name: search_next scale factor: 2 device idiom: 1 device subtype: 568
Could not load the "search_next" image referenced from a nib in the bundle with identifier "sk.company.app"
但图像在那里:
当我将通用图像添加到此资产时,它正在运行:
我在空白的应用程序中尝试过这一点并且它的工作非常好,所以我认为选项有问题,但我无法弄清楚在哪里。
我更多提示:当我在项目设置中将通用应用程序切换到仅iPhone应用程序时,第一个场景(资产中只有特定图像)正常工作。
答案 0 :(得分:1)
对于Universal Application,始终使用Apple推荐的命名约定。例如,您有一个按钮图像,为iPhone和iPad设置图像,例如
<强> 按钮〜iphone.png Button@2x~iphone.png 和iPad 巴顿〜ipad.png Button@2x~ipad.png
如果你这样做,你就不会收到错误&#34; CUICatalog:找不到名字:&#34; 谢谢:)
答案 1 :(得分:0)
看起来它与CocoaPods有关。更新后,一切正常。
答案 2 :(得分:0)
解决方案在错误消息中给出:
&#34;无法加载&#39; search_next&#39;从笔尖引用的图像 捆绑......&#34;
如果您查看屏幕截图,您会看到图片被命名为&#34; search_next @ 2x -2 .png&#34;,其中应该命名为&# 34; search_next@2x.png" ;. &#34; -2&#34;当你在某处拖动另一张图片时可能已添加,而@ 2x版本已经存在。
如果你通过更新CocoaPods来解决它,这是一个库的问题,但解决方案与CocoaPods无关。