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

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

首先这是小编的第一篇文章,我是一名做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直接处理所有图片为正确格式:

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

目录
相关文章
|
25天前
|
API 数据安全/隐私保护 iOS开发
利用uni-app 开发的iOS app 发布到App Store全流程
利用uni-app 开发的iOS app 发布到App Store全流程
81 3
|
26天前
|
iOS开发 开发者
一键制作 iOS 上架 App Store 描述文件教程
一键制作 iOS 上架 App Store 描述文件教程
|
1月前
uni-app 185iOS端兼容处理
uni-app 185iOS端兼容处理
32 1
|
25天前
|
Android开发 iOS开发 开发者
App备案-iOS云管理式证书 Distribution Managed 公钥及证书SHA-1指纹的获取方法
App备案-iOS云管理式证书 Distribution Managed 公钥及证书SHA-1指纹的获取方法
77 0
|
25天前
|
开发者 iOS开发
iOS App上架新规解析:如何进行App备案
iOS App上架新规解析:如何进行App备案
82 0
|
26天前
|
iOS开发 开发者
【教程】uni-app iOS 打包解决 profile 文件与私钥证书不匹配问题
【教程】uni-app iOS 打包解决 profile 文件与私钥证书不匹配问题
|
1月前
|
存储 网络安全 开发者
App Store上架流程/苹果app发布流程:
App Store上架流程/苹果app发布流程:
|
2月前
|
安全 网络安全 数据安全/隐私保护
iOS App的打包和上架流程
iOS App的打包和上架流程
|
2月前
|
移动开发 开发工具 数据安全/隐私保护
iOS APP 版本更新升级教程:如何打包上架新的 APP 版本?
iOS APP 版本更新升级教程:如何打包上架新的 APP 版本?
iOS APP 版本更新升级教程:如何打包上架新的 APP 版本?
|
3月前
|
安全 网络安全 数据安全/隐私保护
iOS App 的打包和上架流程
iOS App 的打包和上架流程