iOS9.2.1 App从AppStore上下载闪退问题

首先这是小编的第一篇文章,我是一名做iOS开发的小白,出于爱好会更新发表些相关的技术文章,偶尔也会发些视频。恳请大家不要去嘲笑一个努力的人,要是做的不好请多多评论,反正我也不改。

好了!敲黑板!!说正题

是这样,前一阵我本来在开开心心的对着项目输出我的奇淫技巧,但是突然有个员工说自己的app有问题,更新版本后再一运行就莫名其妙的崩溃。这让我很惊讶,因为这不符合道理!在没法干掉那个员工的情况下,我只好直面这个bug。

经过我的真机测试,发现并没有这个问题出现。我查看了崩溃日志,发现断点处代码都不在关键点上,于是就请求了苹果的技术支持(一年就两次,多了花钱)。苹果的技术支持不愧是货真价实,回复的干脆:看文档!

哦。。。嗯?先不说文档那么一大块,还是全英文的。当然了,虽然在你们看来英文的文档根本没法看,但在我们搞开发的程序猿来说,尤其是我,那也是一脸懵逼。

于是乎我只能慢慢搜索问题,经过各种查证发现是一张图片有了问题。图片如果是16位或者P3的色域,就会在并且只在iOS 9.2.1系统下崩溃(显然这个系统是有毒的)。

发现自然就能解决,先打一个ipa包并解压,使用终端输入:cd path/Payload/XXX.app,path就是你的路径了。

接着使用find:find . -name 'Assets.car'。

接着使用 assetutil 命令导出图片的信息存储到Assets.json文件中:sudo xcrun --sdk iphoneos assetutil --info/path/to/a/Assets.car> /tmp/Assets.json 把path替换成刚才find下的结果。

打开刚才生成的Assets.json文件,查找含有”DisplayGamut” : “P3”, “Encoding” : “ARGB-16″的内容。这个对应的Name就是出现问题的图片了。

这里我建议直接让美工重新做一张图片,这样没有任何问题了,但也可以直接修改问题图片。

这样我们就不用去定位是哪个图片的问题了,或许更方便一些。

这里我们使用bash script直接处理所有图片为正确格式:

好了,这个问题到这里还是有没解决的话,就可以跟老板说苹果这个系统有问题,不是咱们的锅。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值