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

来源:互联网 发布:备案域名交易平台 编辑:程序博客网 时间:2024/04/28 03:03

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."

最近项目不是太紧,安装了Xcode8, 打包测试的时候突然报了这个错误,大致意思就是图片资源里面包含了16bit或者display P3 颜色的图片,Google了一下,唯一有这个错误的地方就是

ITMS-90682: can't contain 16-bit or P3 assets i...

根据上面的方法执行步骤如下:

1.导出项目的 ipa 文件

2.定位到该ipa文件使用解压工具解压 ,或者修改后缀名.ipa 为 .zip后直接解压

3. 解压后会有Payload 文件夹,里面会有你的APP文件

4. 打开终端切换到你的app的Payload文件夹下的 .app bundle 文件夹内,形式如下:(终端输入cd 拖入Payload里面的文件,回车)

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文件的路径, 如果你终端的位置依然在bundle下则直接执行

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

7. 打开Assets.json

open /tmp/Assets.json

8. 开始查找"DisplayGamut" : "P3"  没找到可以试试 P3, BitsPerSample,然后记下图片的名称。

  

9. 修改图片颜色描述文件

在你的项目中找到图片, 显示在finder中,使用预览打开,然后指派描述文件为sRGB 保存关闭

所有的图片都改完了再次打包上传,久违的绿:white_check_mark:回来啦

最后补充一点:

如果执行

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

出现错误

Assertion failed: (tokenCount < maxCountIncludingZeroTerminator - 1), function CUIRenditionKeySetValueForAttribute, file /BuildRoot/Library/Caches/com.apple.xbs/Sources/CoreUI_host/CoreUI-374.1.1/CoreTheme/ThemeStorage/CUIThemeRendition_Support.m, line 228.

那么你一定是和我一样,安装了多个版本的Xcode, 而且你的command line tools设置为了xc7,

打开xcode设置, 修改command line tools 版本为xcode8 重新运行即可。

0 0