您好,欢迎来到二三娱乐。
搜索
您的当前位置:首页iOS 巨坑,快去看看你的.ipa的包中是不是包含16-bit或

iOS 巨坑,快去看看你的.ipa的包中是不是包含16-bit或

来源:二三娱乐

场景是这样的,同事说他遇到一个大坑,如果你的.ipa的包中包含有16-bit或者P3格式的图片,会有一个很蛋疼的问题。使用Xcode8打包上线,iOS9.3以下版本的手机,运行一会就随机在任何页面崩溃了。

这个时候
你用Xcode直接刷机器<iOS9.3以下版本>测试,木有问题,
模拟器<iOS9.3以下版本>运行木有问题,
打包传到蒲公英或者其他途径,安装到真机上<iOS9.3以下版本>,木有问题。

但是,但是,就是上线之后有问题了。
看到这,我就懵逼了。

不过幸好,使用testFlight安装在iOS9.3以下版本还是能够复现的。

1、将.ipa的后缀名修改成为.zip

image.png

2、显示包内容找到 Assets.car

image.png

3、终端命令进行解析

sudo xcrun —sdk iphoneos assetutil —info /Users/morris/********/Payload/Demo.app/Assets.car > /tmp/Assets.json

后面的文件路径可以写其他的。

4、找到生成的 <code>/tmp/Assets.json</code>

image.png image.png

全局搜索关键字 <code> P3</code>,和关键字 <code>BitsPerSample" : 16</code>
如果找到的话,根据关键字的name在项目中找到该图片。

image.png

根据相关的比较,图片的格式是这样的:

image.png

两张图片都是png格式的图片。
注意那个颜色空间,UI平常给我们切的图一般的颜色控件是RGB的。

实际图片进行对比:
灰度图:


image.png

灰度图转化成RGB图:


image.png

转化成RGB之后的图片:


image.png

如有失误请各位路过大神即时指点,或有更好的做法,也请指点一二。

Copyright © 2019- yule263.com 版权所有 湘ICP备2023023988号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务