解决release版本在iOS9.3以下崩溃的问题
先描述下一下问题:所有release版本的包(包括App Store和adHoc)在iOS9.3以下手机运行,点击任意地方崩溃,无法定位。联机调试是没有问题的。
问题原因:图片资源文件里有16位图或者图片显示模式为P3
解决方案:
- 打一个ipa包,重命名为.zip 解压,进入到你应用的Playload文件夹。
- 右键name.app文件,点击显示包内容
- 在终端中cd到name.app文件夹中
用find命令定位到Assets.car文件
1
$ find . -name 'Assets.car
使用 assetutil 命令导出图片的信息存储到Assets.json文件中
1
$ sudo xcrun --sdk iphoneos assetutil --info ./Assets.car > /tmp/Assets.json
打开生成的Assets.json文件
1
$ open /tmp/Assets.json
- 查找含有”DisplayGamut” : “P3”, “Encoding” : “ARGB-16″
- Name字段即为有问题图片的名字,其替换掉重新打包上传,问题解决