ERROR ITMS-90682: Invalid Bundle - The asset catalog at 'Payload/XXXXX/Assets.car' can't contain 16-bit or P3 assets if the app supports iOS 9.3 or earlier.


剛升級Xcode 8, 幺蛾子又出現了。提交的時候出了這個問題。 BTW,感謝google。以下為解決方案:‘

在 Xcode 8 中,當你資源文件中[含有16位圖]或者[圖片顯示模式γ值為'P3']且iOS targets設定為iOS 9.3以下就會出現這個問題. 如果你的app需要支持廣色域顯示的話,那你必須得把target設置成iOS 9.3+,相反,如果你的app不需要支持廣色域且你想兼容 iOS 9.3 之前的項目,你就得把所有的16位的或者顯示模式為'P3'圖片全都替換成8位模式的SRGB顏色的圖片。

 

你可以通過運行“assetutil”在iTunes Connect的錯誤信息中找到16-bit 或 P3 資源文件。離線的解決方案如下:

1.導出項目的 ipa 文件

2.定位到該ipa文件修改后綴名.ipa 為 .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 /path/to/a/Assets.car > /tmp/Assets.json

注:這里的/path/to/a/Assets.car 指的是Assets.car的路徑,不要直接復制!!!使用上一步find命令的結果。

------------------2016-09-21更新----------------------------

-------------------end of the update--------------------------

7.  打開上一步生成的 /tmp/Assets.json 文件並查找包含有 “DisplayGamut": “P3” 或者相關的內容.  這段json的"Name"字段對應的值就是16位或顯示的γ值為P3的資源文件名.

 

8.  找到這個資源文件修改為 8位的sRGB形式,重新編譯上傳你的app即可.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM