无法从 iOS 9 上的 xcassets 加载图像

Impossible to load an image from xcassets on iOS 9

我的 Images.xcassets 中存储了几张图片,我通过代码和 Interface Buider 加载了这些图片。但是 iOS 9 更新破坏了一切:从代码或 IB 加载时图像都没有显示。

一切正常,只是图像不再加载。

假设我的 .xcassets 中有一个名为 Image 的图像。在 iOS 8 日,

 [UIImage imageNamed:@"Image"]

返回了一个有效的指针,但它 returns nil 在 iOS 上 9. 同样的事情在 Interface Builder 中发生:所有 UIImageView 从 IB 设置是空的。

不过有两个例外:两个 small (48x48) 图像确实可以正确加载。我注意到它们都被编译成 Assets.car,所有其他的都以 png 和 jpeg 的形式放在主目录中......但是配置与所有图像 相同

iOS8 上不存在此问题。

有什么想法吗?

答案是我使用的是 JPEG。 看起来 Xcode 7 现在需要 Render As 选项设置为 Original Image 尽管 Xcode 6.1 应该 需要这个选项(来自 this SO thread)。然而它在没有它之前工作......(我在 Xcode 6.1 上开始了这个项目)。

解决方案是将 Render As 选项从 Default 更改为 Original :