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

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,然后记下图片的名称。

Xcode8打包上传错误ERROR ITMS-90682:

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

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


Xcode8打包上传错误ERROR ITMS-90682:

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


Xcode8打包上传错误ERROR ITMS-90682:

最后补充一点:

如果执行

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 重新运行即可。



/****************09.29 更新****************/

感谢 @doveLark 的回复:

1.当提示版本无效的时候苹果会发送邮件到开发者账号的邮箱,邮件提示在info.plist文件里面需要添加的字段和值;

2.general->deployment info -> deployment target 我这里改为9.3

第二条,如果不适配iOS8的话,自然改一下就是最方便的 “解决方法”

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