无法访问资产目录中的图像

Posted

技术标签:

【中文标题】无法访问资产目录中的图像【英文标题】:Image from asset catalog not accessible 【发布时间】:2018-02-27 09:48:12 【问题描述】:

在我的项目中,我有多个资产目录,其中一个名为 images.xcassets。 我可以使用UIImage(named: "image.png")#imageLiteral(resourceName: "image.png") 访问所述资产目录中的所有图像(带有,没有文件扩展名.png)。

问题

现在,尝试访问资源 image2.pngios 11.2 iPad 10.5" 模拟器上工作得很好。但是,完全相同的构建在使用 iOS 11.2 iPad 12.9"(第二代)模拟器时会崩溃,并显示以下“消息":

线程 1:EXC_BAD_INSTRUCTION(代码=EXC_I386_INVOP,子代码=0x0)

这个问题刚刚出现,在今天之前我总是可以访问图像。我什么都没碰过……

我尝试过的

目标成员设置为项目的目标 从 Build Phases 中的 Copy Bundle Resources 中删除了资产目录 清理并重建项目 从目录中删除 image2.png 并将其添加回来 删除了整个资产目录并将其重新添加 从 12.9" 模拟器中删除应用并重新安装 退出并重新打开 Xcode 和模拟器

知道为什么这个特定资源无法再访问了吗?


注意事项:

到目前为止,我在使用真实设备时没有遇到此错误(使用 iPad Air 2 和 iPad Pro 1st Gen. 测试)

【问题讨论】:

检查目标成员资格。 正如我的帖子中所述,我已经这样做了。此外,如果未设置目标,我将无法访问目录中的任何其他图像。 【参考方案1】:

Has to do with the color space apparently。

我能够在 Photoshop 中“保存为网络”并将图像转换为 sRGB 以获得不会在 iPad Pro 12.9" 第二代模拟器中崩溃的图像文件。

【讨论】:

以上是关于无法访问资产目录中的图像的主要内容,如果未能解决你的问题,请参考以下文章

Pyramid 无法访问静态资产(既不是 .jpg 图像也不是 .js 文件)

为啥我无法加载位于资产目录中的图像?

无法加载资产颤振(不是资产是保存的文件)

无法访问 CodeIgniter 资产文件夹中的 CSS 文件,显示 404 错误

应用扩展如何访问包含的应用图像/资产/资源数据

如何在资产目录中设置可访问性标签? Xcode 11