iOS 线上版本图片资源格式的问题导致的闪退9.2.1系统
2018-02-02 10:04
405 查看
图片资源的问题
导致这种问题的原因是:在 Xcode 8 中,当你资源文件中[含有16位图]或者[图片显示模式γ值为’P3’]且iOS targets设定为iOS 9.3以下就会出现这个问题. 如果你的app需要支持广色域显示的话,那你必须得把target设置成iOS 9.3+,相反,如果你的app不需要支持广色域且你想兼容 iOS 9.3 之前的项目,你就得把所有的16位的或者显示模式为’P3’图片全都替换成8位模式的SRGB颜色的图片
解决办法 :
1 导出ipa包
2.然后把该ipa文件修改后缀名.ipa 为 .zip. 这时候就变成了一个.zip的压缩包了
3 解压该 .zip 文件. 解压后的目录里面会有一个包含着你的 app bundle 文件的 Payload 文件夹.
4 打开终端病切换到你的app的Payload文件夹下的 .app bundle 文件夹内,形式如下:
cd path/to/Payload/your.app
5 用 find 命令定位到 Assets.car 文件 .app bundle , 形式如下:
find . -name ‘Assets.car’
6 使用 assetutil 命令找到任何包含着 16-bit or P3 的资源文件, 对每个 Assets.car 之行以下命令 :
sudo xcrun –sdk iphoneos assetutil –info/path/to/a/Assets.car> /tmp/Assets.json
注:这里的/path/to/a/Assets.car指的是Assets.car的路径,不要直接复制!!!使用上一步find命令的结果。
7 打开上一步生成的 /tmp/Assets.json 文件并查找包含有 “DisplayGamut”: “P3” 或者相关的内容. 这段json的”Name”字段对应的值就是16位或显示的γ值为P3的资源文件名.
执行完上述的命令就能看到下边的界面了
这个是正常的
看下边的这个图片就有问题了
找到类似于上边的图片 都是有问题的 然后去你的xcode中 找到这些图片 我是直接删除了然后让UI在做图
就可以了
作者:奥卡姆剃须刀
链接:https://www.jianshu.com/p/6492779cb89e
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
相关文章推荐
- iOS 线上版本图片资源格式的问题导致的闪退
- qml中图片格式和后缀不一致时导致图片不显示的问题(ios and android)
- 项目里出现的问题 01(声明这张图片用原图 别渲染) (随机颜色) (自定义Log) (查找当前ios系统版本是多少)
- ios app因为图片格式问题闪退
- cocos2dx引擎版本问题,由图片导致android系统出现Unable to access asset data: -1 从而导致崩溃
- iOS - Xcode8的(图片格式)assets问题导致运行iOS8崩溃
- 关于ios使用线程导致程序不规律的闪退问题解决
- iOS系统版本处理问题
- tlplayer for ios V1.1.2加密测试版本(修复1.1.1版本 for ios7播放闪退问题)
- IOS 6.0 下 在输入中文时 按下锁屏键 导致的闪退问题
- TIME_WAIT状态的连接过多导致系统端口资源耗尽问题(2)
- [iOS]PDF格式的矢量图作为图片资源自动适配
- 移动View位置时,修改图片资源导致View在原位置闪烁的问题
- 关于IOS资源图片命名问题。
- iOS-使用系统类库加载gif格式图片
- 解决因flash版本升级而导致FaustCplus生成不了预览图片的问题
- 由于升级iOS版本导致证书丢失等一系列问题汇总
- flash版本更新导致shopex后台上传图片无效的问题
- IOS APP 国际化(实现不跟随系统语言,不用重启应用,代码切换stroyboard ,xib ,图片,其他资源)
- IOS 6.0 下 在输入中文时 按下锁屏键 导致的闪退问题