在名为“5”的Assets.xcassets中有一个名为“5.jpg”的图像文件。
我编写代码UIImage *image = [UIImage imageNamed:@"5"];
来创建图片,但应用程序在控制台中崩溃并输出*** Assertion failure in -[_CUIThemePixelRendition _initWithCSIHeader:], /BuildRoot/Library/Caches/com.apple.xbs/Sources/CoreUI/CoreUI-432.4/CoreTheme/ThemeStorage/CUIThemeRendition.m:3797
。
答案 0 :(得分:7)
我在XCode 9测试版中遇到过这个问题,运行iOS 10或更低版本。 Apple似乎已经放弃了对XCAssets中JPEG文件的支持。您可以使用do作为@Esha建议并切换到PNG,或者您不能使用XCAsset,将图像放在本地目录中,并通过其URL引用它。
苹果有可能故意这样做(虽然如果他们这样做了,我找不到任何文件)或者这是一个XCode 9错误。我已向Apple报告,您可以跟踪错误here.
的进度答案 1 :(得分:2)
尝试在资源文件夹中放置 .png 图像。 jpg 图片会出现此问题。
答案 2 :(得分:0)
该行应为
UIImage *image = [UIImage imageNamed:@"5.jpg"];
如果文件是PNG格式,则无需指定.PNG文件扩展名。在iOS 4之前,您必须指定文件扩展名。
建议您为应用中的大多数图片使用PNG或JPEG文件。图像对象针对读取和显示两种格式进行了优化,这些格式提供了比大多数其他图像格式更好的性能。由于PNG格式无损,因此特别推荐用于应用界面中使用的图像。