iOS开发:最新Xcode8打包上架报错ERROR ITMS-90682: "Invalid Bundle. The asset catalog at***

      最近上架一个项目的时候,遇到一个前任留下的坑,仅仅因为一张没有用的图片搞的我的安装包上传不了,足足浪费了我两个小时才把问题找到解决了。有些时候赶项目上线,越急着上线,越容易出各种各样的“幺蛾子”,然后如果不急着上架,就不会出问题,感觉这是一个神奇的现象。

言归正传,先把我遇到的问题先贴出来,然后再说我怎么解决的。

问题如下:

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

iOS开发:最新Xcode8打包上架报错ERROR ITMS-90682:

当时本来就是在加班,然后又遇到这个问题,大脑就不清醒了,懵逼了,毕竟是第一次遇到这种坑,然后就上网查找相关问题处理,大致意思就是图片资源里面包含了16bit或者display P3 颜色的图片,然后通过网上知道了解决这个问题的方法,然后果断试了,第一次没有成功,第二次就成功了。下面就说说我的解决步骤:

1.找到导出项目的ipa文件;

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

3.解压后会有里面会有两个文件:BCSymbolMaps和Payload,点击Payload文件里面有你的APP文件;

4.打开终端,进入到你的APP的Payload文件夹下的.app bundle文件夹内(打开终端,输入 cd 拖入Payload文件夹里面的文件,回车。

cd /Users/apple/Desktop/your/Payload/your.app);

5.在终端里,用find命令找到Assets.car文件(find . -name 'Assets.car');

6.用assetutil 命令找到任何包含着 16-bit or P3 的资源文件,对每个Assets.car文件执行一句命令:sudo xcrun --sdk iphoneos assetutil --info /Users/apple/Desktop/a/Assets.car > /tmp/Assets.json (/Users/apple/Desktop/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,保存并关闭。

所有图片都修改完了再次打包上传,就OK了。。。该方法只适用于Xcode8,如果你电脑有多个版本Xcode的话需要打开xcode设置, 修改command line tools 版本为xcode8 重新运行即可。

              如果不明白就看下面的截图步骤(我的安装包我直接放到桌面,方便我处理):

iOS开发:最新Xcode8打包上架报错ERROR ITMS-90682:


iOS开发:最新Xcode8打包上架报错ERROR ITMS-90682:

上面是我找问题图片的步骤,下面是我项目里面查找的情况:

根据刚才查到的那个图片的名字,在项目中找到这张图片:iOS开发:最新Xcode8打包上架报错ERROR ITMS-90682:

然而这张图片在我项目里并没有用,我果断删除了,但是如果你的项目用到出问题的图片,不要慌,直接把该图片显示在finder中,工具-->指派描述文件-->sRGB.

iOS开发:最新Xcode8打包上架报错ERROR ITMS-90682:

把问题图片解决之后,再重新打包上传,立马就成功了,那感觉真叫一个爽啊。





你可能感兴趣的:(iOS开发遇到的坑,iOS开发,ios,上架报错,ERROR,ITMS-90682)