崩溃原因:
在Xcode8中,如果你的图片资源文件里有16位图或者图片显示模式为P3,并且Deployment Target是iOS9.3以下的就会出现这个问题。
如果你的App需要支持wide color functionality,那你就必须设置Deployment Target为iOS9.3以上。
如果你的APP不需要支持wide color functionality并且你希望兼容iOS老版本,那么你需要将所有16-bit or P3 assets的图片转换为8-bit sRGB assets
解决办法:
定位问题图片
1.打一个ipa包,解压你的应用的ipa包,进入到你应用的Playload文件夹。
2.用find命令定位到Assets.car文件(或者cd 到Assets.car文件所在的文件夹)
find . -name 'Assets.car'
3.使用 assetutil 命令导出图片的信息存储到Assets.json文件中
sudo xcrun --sdk iphoneos assetutil --info Assets.car > Assets.json
4.打开Assets.json文件查看含有以下内容的文件,对应的就是出问题的图片。
"DisplayGamut" : "P3"
"Encoding" : "ARGB-16"
参考文献:
StackOverFlow
崩溃问题
网友评论