前一阵 公司客服突然和我说 好多iOS 9的用户App 闪退很严重并且很多都是打开app秒退,我很惊讶,立即拿了 9.3.5的系统进行测试,没有复现。之后立即让客服和用户沟通了解到闪退的系统版本为9.2.1、9.2.0、9.0.2。
立即和公司沟通在闲鱼上买了9.2.1系统的iphone 5,iphone 5到了之后我这边立即进行测试,但是没有复现,
我查看了崩溃日志,发现断点处代码都不在关键点上
这时我很郁闷啊,这该怎么解决!!!我又从App store上下载了app 确实存在这个问题,我纠结啊!这该怎么解决!
万能的百度帮到了我,问题可能出现在图片资源问题,经分析确实存在有问题的图片:
步骤:
1.打一个ipa包,解压你的应用的ipa包,进入到你应用的Playload文件夹。
2.用find命令定位到Assets.car文件
find . -name 'Assets.car'
3.使用 assetutil 命令导出图片的信息存储到Assets.json文件中
sudo xcrun --sdk iphoneos assetutil --info 通过find . -name 'Assets.car' 打印得到的路径 /Assets.car > /你需要存储的目录/Assets.json
4.打开刚才生成的Assets.json文件,查找含有"DisplayGamut" : "P3", "Encoding" : "ARGB-16"的内容。这个对应的Name就是出现问题的图片了。
"DisplayGamut" : "P3", "Encoding" : "ARGB-16"格式的图片只支持iOS 9.3以上版本,
如果你想要支持iOS9.3以下版本只能改变图片格式
错误图片格式:
正确图片格式:
图片问题解决方法:
1.最直接方法让UI重新给图片资源
2.自己通过Mac自带的色彩同步实用工具(ColorSync实用工具)解决:
这个时候解决了图片问题,因为不能复现这个闪退,但我不能确定9.2.1等系统上闪退就是这个问题,只能发版上线通过app store下载版本进行验证,万幸终于解决了这个问题
相关文章:https://blog.csdn.net/zhanglizhi111/article/details/65443170