一张图片引起的iOS8.X iOS9.X崩溃

项目刚上线有用户反映iOS9.2,9.1出现打开就闪退的问题。上线前的兼容性测试确实是一点问题都没有,自己打包调试都是好好的,一发布到AppStore就出现闪退,搞得我一个头两个大。

然后,我去查看Xcode收集的crash log:


问题大概是出在图片上,然后我开始从loading图片的问题着手。不使用图片,不使用loading,问题依旧在。

无奈只能找万能的度娘,然后在SO上发现了这篇文章 App downloaded from appstore crash in 9.3 lower version Devices。文章描述的问题和我遇到的大概类似。然后我开始尝试这种方法,问题得到了解决。

解决方法:

1.找到ipa中的Assets.car(图片压缩包)

2.打开终端,执行sudo xcrun --sdk iphoneos assetutil --info Assets.car > Assets.json

3.打开Assets.json搜索P3,ARGB-16字样,如下图


4.在工程中找到这些图片资源,删掉或者替换成ARGB编码的,并且没有DisplayGamut格式的图片。

重新打包发布至TestFlight或App Store

你可能感兴趣的:(一张图片引起的iOS8.X iOS9.X崩溃)