问题出现前提:
1.使用Xcode8打包
2.运行系统iOS9.0~9.3
3.图片添加在Assets资源下
问题描述
版本上线后使用同事的iOS9.1系统的6sp手机运行闪退,而这个手机在使用真机直接运行安装、扫描二维码安装ipa包,都是没有问题的。
去友盟错误列表反馈报以下错误提示:
Application received signal SIGTRAP
最终定位到了P3资源文件的问题上了,图片资源文件里有16位图,显示模式为P3
原理:
如果你的app需要支持广色域显示的话,那你必须得把target设置成iOS 9.3+,相反,如果你的app不需要支持广色域且你想兼容 iOS 9.3 之前的项目,你就得把资源文件所有的16位的或者显示模式为’P3’图片全都替换成8位模式的SRGB颜色的图片
1.查找16位模式的SRGB颜色的图片步骤:
1 | 1.打一个ipa包,将该文件后缀名.ipa为.zip |
解决问题
1修改图片:
1 | 使用ColorSync实用工具将这个描述文件修改下 |
指派它的描述文件为sRGB IEC61966-2.1,保存.
至此我们的问题完美解决。
2改变图片位置
将问题图片从Assets移除,直接添加到工程中使用
以上内容参考以下文章: