ios app因为图片格式问题闪退

有时候突然遇到用户反馈手机会上退,而且报错信息一点也收集不到。自己测试有时候也找不到原因。而且只出现在ios9.2左右的系统中。那么基本可以定位这个错误是因为你工程中添加了错误格式的图片,不管你调不调用这个图片,只要存在系统中就会闪退。下面讲解一下排查方法:

1.找到导出项目的ipa文件;

2.对该ipa文件使用解压工具解压,或者直接修改后缀名.ipa为.zip后直接解压该文件;

3.解压后会有里面会有两个文件:BCSymbolMaps和Payload,点击Payload文件里面有你的APP文件;

4.打开终端,进入到你的APP的Payload文件夹下的.app bundle文件夹内(打开终端,输入 cd 拖入Payload文件夹里面的文件,回车。

cd /Users/apple/Desktop/your/Payload/your.app);

5.在终端里,用find命令找到Assets.car文件(find . -name 'Assets.car');

6.用assetutil 命令找到任何包含着 16-bit or P3 的资源文件,对每个Assets.car文件执行一句命令:sudo xcrun --sdk iphoneos assetutil --info /Users/apple/Desktop/a/Assets.car > /tmp/Assets.json (/Users/apple/Desktop/a/Assets.car 替换为Assets.car文件的路径,如果你的终端位置还是在bundle下直接可以执行这句即可:xcrun --sdk iphoneos assetutil --info ./Assets.car >/tmp/Assets.json);

7.打开Assets.json文件,在终端中输入 open /tmp/Assets.json;

8.开始查找"DisplayGamut" : "P3"     如果没找到,可以试试 P3, BitsPerSample,然后记下图片的名称;

9.修改图片颜色描述文件,在你项目里面找到图片,然后在finder中用预览打开找到的图片,然后指派描述文件为sRGB,保存并关闭。

或许这样直接写你无法理解,下面我就添加操作图片给大家讲解:

首先你要有一个ipa包,然后将这个ipa包解压

解压之后会多出来一个Payload文件

打开终端输入cd空格 将我涂抹的文件直接拖拽到终端中

之后在输入命令

再次输入命令之后系统会选择你电脑里相应软件自动打开文件,在里面你就可以查找你的不符合标准的图片了


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值