iOS9 因为图片莫名闪退

一般错误信息与图片相关,如

-[CUIStrucTuredThemeStore renditionWithKey:usingKeySignature:] 

仅在 iOS9及一下系统出现

问题说明

ios9.3以下系统不支持非RGB 色域的图片,需要排查所有图片。

排查步骤

1. 获取ipa 文件

  1. 直接从 Xcode 导出

  2. 从 iTuns 下载(没找到在哪儿)

2. 获取Assets.car文件

  1. 解压ipa, 找到 Payload 中的 .app 文件, 显示包内容,找到 Assets.car 文件,拷贝到工作目录。

3. 获取asset.json文件

cd 工作目录

sudo xcrun --sdk iphoneos assetutil --info ./Assets.car > asset.json

输入密码,生成asset.json文件

4. 查找非 RBG图片

查询 asset.json文件中的"DisplayGamut" : "P3",即为不能用的图片

补充

在查阅资料时发现, 很多资料都提到过在项目中运行一个脚本将P3图片进行转换, 由于此种方法朕没有实际验证过, 所以只做个摘录

#!/bin/bash DIRECTORY=$1 echo "----Passed Resources with xcassets folder argument is <$DIRECTORY>" echo "----Processing asset:"

find "$DIRECTORY" -name '*png' -print0 | while read -d $'\0' file; do echo "---------$file" sips -m "/System/Library/Colorsync/Profiles/sRGB Profile.icc" "$file" --out "$file" done

echo "----script successfully finished"

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 16bit图片导致的iOS9.3以下系统出现闪退【iOS9.3以下仅支持8bit图片】 导致这种问题的原因是:在 ...
    生亦何哀阅读 796评论 0 50
  • ios 10 出来了,项目需要适配,更新Xode8 后,项目运行iOS 8.4 真机时,出现莫名其妙崩溃的问题。上...
    wkw0913阅读 1,085评论 0 1
  • 文/刘彩霞 (十二) 小邱开始是好言相劝,接下来是表明态度,就是不让宫庆庆回来,到最后,怎么阻止也没有效果。上午九...
    彩霞漫天阅读 199评论 0 0
  • 敬笃 我梦见了自己,在悬崖边跳舞 一树秋天的花,在风中不停地飞 我挪动脚步,在寂静里 害怕时间老去,而山顶的开阔,...
    山谷小道士阅读 449评论 0 1
  • 这一次,希望你可以看到,并且不再竖起墙在我们之间。因为我并不会去影响你的生活,我也相信你已经强大、坚定到不会畏惧一...
    无双_7b56阅读 517评论 2 1

友情链接更多精彩内容