Xcode10一出来,按公司要求,立马适配新机型,经过几个小时的修改,上架app store,然后发现iOS9.3以下崩溃率很高,崩溃日志反馈以下错误提示,完全不知道问题出在哪里。
[Application received signal SIGTRAP]
那就找来一部ios9.2的手机连机调试吧,装上跑起来没问题呀。
既然debug调试没问题,那我们试release调试也没问题,再试发布一个企业版本调试也没问题。。。但是从app store下载运行就奔溃。我也崩溃了。
后来想既然只有从app store下载才出现问题,难道是打包的时候出问题了?于是重新打包上传到iTunes Connection发布,没错,还是奔溃。。。
然后就上网各种查找Xcode8打包iOS9线上奔溃问题的资料,最终锁定到了P3资源文件的问题上。
图片资源文件里有16位图或者图片显示模式为P3,这是什么鬼?不知道哪张图片。
那我们接着定位问题图片。
1、打一个ipa包,改为zip格式解压,进入Payload文件夹。打开终端执行
cd /Users/Desktop/test/Payload/test.app
2、用find命令定位到Assets.car文件
find . -name 'Assets.car'
3、使用 assetutil 命令导出图片的信息存储到Assets.json文件中
sudo xcrun --sdk iphoneos assetutil --info ./Assets.car > /tmp/Assets.json
4、打开生成的Assets.json文件
open /tmp/Assets.json
5、查找含有”DisplayGamut” : “P3”, “Encoding” : “ARGB-16″
左图为不符合的图片信息简介
更换了图片,重新打包发布,ok。
文章转自
https://blog.csdn.net/feiyue0823/article/details/72955763