开发者提交Ipa包到itunesconnect的时候经常会遇到如下的问题:
ERROR ITMS-90717: "Invalid App Store Icon. The App Store Icon in the asset catalog in 'HY.app' can't be transparent nor contain an alpha channel.”
ERROR ITMS-90704: "Missing App Icon. An app icon measuring 1024 by 1024 pixels in PNG format must be included in the Asset Catalog of apps built for iOS, iPadOS, or watchOS. Without this icon, apps cannot be submitted for review.
原因是苹果提交上架需要完整尺寸的Appicon图标库存放在Assets.Car文件中, 需要的图标尺寸如下:
Idiom: iPhone
AppIcon20x20@2x~iphone.png
AppIcon20x20@3x~iphone.png
AppIcon29x29@2x~iphone.png
AppIcon29x29@3x~iphone.png
AppIcon40x40@2x~iphone.png
AppIcon40x40@3x~iphone.png
AppIcon60x60@2x~iphone.png
AppIcon60x60@3x~iphone.png
Idiom: ipad
AppIcon20x20~ipad.png
AppIcon20x20@2x~ipad.png
AppIcon29x29~ipad.png
AppIcon29x29@2x~ipad.png
AppIcon40x40~ipad.png
AppIcon40x40@2x~ipad.png
AppIcon76x76~ipad.png
AppIcon76x76@2x~ipad.png
AppIcon83x83@2x~ipad.png
idiom: ios-marketing
AppIcon1024x1024.png
文件不能缺失也不能包含透明的alpha通道,如果有源码,直接可以使用xcode自带的编辑器编辑,如果是逆向工程,可以按如下步骤修改。
一 重新生成car文件
可以使用光程科技的在线工具,一键生成car文件。
操作比较简单,主要要选择car文件,下一步替换也只用替换car文件
光程科技官网
提交后生成如下文件,等会要使用到的是car文件和plist文件
自动生成icon 和car文件
二 解压ipa文件替换car文件
如app.ipa, 我们将后缀改成zip,即app.zip, 双击解压,进入Payload目录,继续右键显示包内容。
打开生成的文件
可以看到包内有个Assets.car文件和info.plist文件,首先直接将刚刚在线生成的car文件复制替换过来。
打开ipa包
三 修改info.plist文件
首先进入在线工具下载的文件,找到info.plist文件,双击打开。
复制ctr+c CFBundleIcons
找到info.plist和car文件
替换info.plist中关于icon的字段
然后再次进入app的包文件,找到info.plist并且打开,ctr+v粘贴, 如提示替换直接覆盖
重复以上操作 修改 CFBundleIcons~iPad
四 至此修改就已经完毕了
压缩Payload目录为Payload.zip 修改后缀为Payload.ipa,就可以重新提交上架或者签名啦!