I created app that perfectly worked on xcode 5. But when i run it on xcode 6 with iphone 6 simulator, it's giving me an error:
CUICatalog: Can't find rendition for name: someImage@2x~ipad.png scale factor: 2 device idiom: 1 device subtype: 568
I created app that perfectly worked on xcode 5. But when i run it on xcode 6 with iphone 6 simulator, it's giving me an error:
CUICatalog: Can't find rendition for name: someImage@2x~ipad.png scale factor: 2 device idiom: 1 device subtype: 568
I had the same issue in my universal-app-project.
The solution has also been the renaming of all "universal-images" with are used on both or only one device (iPhone && iPad || iPhone || iPad). E.G. someimage@2x.png because no counterpart exists nor is needed...
I know this probably isn't the answer you want, but I had the exact same problem, and simply renaming the image fixed the problem.
In other words, I copied the original file that wouldn't load to another file in the same directory, with a different name.
I then added this new file to the Xcode project and removed the first one.
I changed the code to reflect the new image name:
I slightly changed the previous developer's naming convention, to go with
Home_BG-568h@2x.png
.Hope this helps someone.
I discovered a way to load images by circumventing Apple's naming convention interpretation. Instead of using
[UIImage imageNamed:]
, load the image as binary into anNSData
and then initialize aUIImage
with that data like so:Be warned, though, that there is no caching with this method and calling it multiple times will load a new image each time. If you want caching you'll have to implement that logic yourself.
The scale of the image may also not be correct. If it is a retina scale (@2x) image, you can adjust the scale of the loaded image like so: