博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS 线上版本图片资源格式的问题导致的闪退
阅读量:5860 次
发布时间:2019-06-19

本文共 1021 字,大约阅读时间需要 3 分钟。

链接:https://www.jianshu.com/p/6492779cb89e
來源:简书
  导致这种问题的原因是:在 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 /Users/feng/Desktop/Payload/cocc-passengerservice-ios.app/Assets.car> ~/Desktop/Assets.json

注:这里的/path/to/a/Assets.car指的是Assets.car的路径,不要直接复制!!!使用上一步find命令的结果。

7、打开上一步生成的 /tmp/Assets.json 文件并查找包含有 “DisplayGamut": “P3” 或者相关的内容. 这段json的"Name"字段对应的值就是16位或显示的γ值为P3的资源文件名.

执行完上述的命令就能看到下边的界面了

这个是正常的

看下边的这个图片就有问题了

找到类似于上边的图片 都是有问题的 然后去你的xcode中 找到这些图片 我是直接删除了然后让UI在做图

转载地址:http://vxrjx.baihongyu.com/

你可能感兴趣的文章
iOS Deep Linkin 和 Deferred Deep Linking
查看>>
如何定制一个下拉框
查看>>
安卓绿色联盟最强联名,超百家应用/企业共贺新春
查看>>
【跃迁之路】【730天】程序员高效学习方法论探索系列(实验阶段487-2019.2.20)...
查看>>
The Rise of Worse Is Better 论文-学习笔记
查看>>
使用 Docker 部署 Spring Boot项目
查看>>
【技术性】Search知识
查看>>
leetcode389.Find The Difference
查看>>
linux上ssh免密登录原理及实现
查看>>
gradle-学习笔记(2)-多项目构建
查看>>
HTML表单提交的安全问题
查看>>
被神话的大数据——从大数据(big data)到深度数据(deep data)思维转变
查看>>
强制缓存和协商缓存有什么区别
查看>>
Python爬虫--- 1.4 正则表达式:re库
查看>>
Xcode 10 升级导致项目报错的常见问题
查看>>
我们来说一说TCP神奇的40ms
查看>>
[LeetCode] 97. Interleaving String
查看>>
微服务架构组件分析
查看>>
Mongodb数据的导出与导入
查看>>
在SAP UI中使用纯JavaScript显示产品主数据的3D模型视图
查看>>