Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

like image 246
Saggy Avatar asked Oct 08 '14 05:10

Saggy


2 Answers

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:

   // Asset Catalog problem loading this:
   //  [imgBackground setImage:[UIImage imageNamed:@"[email protected]"]];
   [imgBackground setImage:[UIImage imageNamed:@"Home_BG-568h"]];

I slightly changed the previous developer's naming convention, to go with [email protected].

Hope this helps someone.

like image 168
Nate Avatar answered Sep 18 '22 11:09

Nate


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 an NSData and then initialize a UIImage with that data like so:

NSData* imageData = [NSData dataWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"Icon@57x57" ofType:@"png"]];
UIImage* icon = [UIImage imageWithData:imageData];

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:

icon = [UIImage imageWithCGImage:icon.CGImage scale:2.f orientation:UIImageOrientationUp];
like image 30
devios1 Avatar answered Sep 16 '22 11:09

devios1