Xcode8打包上传错误ERROR ITMS-90682: "Invalid Bundle. The asset catalog

问题详述:

  • 用xocde 8打包出现如下问题,

ERROR ITMS-90682: "Invalid Bundle. The asset catalog at 'Payload/****.app/Assets.car' can't contain 16-bit or P3 assets if the app is targeting iOS releases earlier than iOS 9.3."

  • 出现这个问题有两种解决方法

    • 1.修改最低版本号可是尝试iOS8.1 ~iOS8.4之间。(我只是看到网上有这个方法,但是并没有解决,但是还试一下吧,万一成了呢)
    • 2.率复杂
      • 导出项目的 ipa 文件
      • 定位到该ipa文件使用解压工具解压 ,或者修改后缀名.ipa 为 .zip后直接解压
      • 解压后会有Payload 文件夹,里面会有你的APP文件
      • 打开终端切换到你的app的Payload文件夹下的 .app bundle 文件夹内,形式如下:(终端输入cd 拖入Payload里面的文件,回车)

      cd path/to/Payload/your.app


      http://od2d96feb.bkt.clouddn.com/1.png

      - 用 find 命令定位到 Assets.car 文件 .app bundle , 形式如下:

find . -name 'Assets.car'


http://od2d96feb.bkt.clouddn.com/2.png

- 使用 assetutil 命令找到任何包含着 16-bit or P3 的资源文件, 对每个 Assets.car 执行以下命令 :

sudo xcrun --sdk iphoneos assetutil --info /path/to/a/Assets.car > /tmp/Assets.json
- 如果在执行sudo xcrun --sdk iphoneos assetutil这行命令的时候出现问题
>Assertion failed: (tokenCount < maxCountIncludingZeroTerminator - 1), function CUIRenditionKeySetValueForAttribute, file /BuildRoot/Library/Caches/com.apple.xbs/Source......有可能是装了多个xocode,打开xcode设置, 修改command line tools 版本为xcode8 重新运行即可。


http://od2d96feb.bkt.clouddn.com/3.png
   - **/path/to/a/Assets.car**  替换为Assets.car文件的路径, 如果你终端的位置依然在bundle下则直接执行

xcrun --sdk iphoneos assetutil --info ./Assets.car >/tmp/Assets.json


http://od2d96feb.bkt.clouddn.com/4.png

- 打开Assets.json

open /tmp/Assets.json
- 开始查找"DisplayGamut" : "P3" 没找到可以试试 P3, BitsPerSample,然后记下图片的名称。
- 使用ps或者等图片处理工具,把图片保存成sRGB即可

你可能感兴趣的:(Xcode8打包上传错误ERROR ITMS-90682: "Invalid Bundle. The asset catalog)