Rico's blog.

解决release版本在iOS9.3以下崩溃的问题(P3图片)

字数统计: 238阅读时长: 1 min
2018/02/27 Share

解决release版本在iOS9.3以下崩溃的问题

先描述下一下问题:所有release版本的包(包括App Store和adHoc)在iOS9.3以下手机运行,点击任意地方崩溃,无法定位。联机调试是没有问题的。

  • 问题原因:图片资源文件里有16位图或者图片显示模式为P3

  • 解决方案:

  1. 打一个ipa包,重命名为.zip 解压,进入到你应用的Playload文件夹。
  1. 右键name.app文件,点击显示包内容
  1. 在终端中cd到name.app文件夹中
  1. 用find命令定位到Assets.car文件

    1
    $ find . -name 'Assets.car
  1. 使用 assetutil 命令导出图片的信息存储到Assets.json文件中

    1
    $ sudo xcrun --sdk iphoneos assetutil --info ./Assets.car > /tmp/Assets.json
  1. 打开生成的Assets.json文件

    1
    $ open /tmp/Assets.json
  1. 查找含有”DisplayGamut” : “P3”, “Encoding” : “ARGB-16″
  1. Name字段即为有问题图片的名字,其替换掉重新打包上传,问题解决
CATALOG
  1. 1. 解决release版本在iOS9.3以下崩溃的问题