ITMS-90717错误:"无效的App Store图标"。

295
当我试图提交应用到Itunes Connect时,出现了以下错误。
iTunes Store Operation Failed

Error ITMS-90717: "Invalid App Store Icon. The App Store Icon in the asset catalog in 'YourApp.app' can't be transparent nor contain an alpha channel."

ITMS-90717错误 我确认已提交的文件没有透明度。但是在提交到时仍然出现了错误。


我觉得这看起来是一个重复的问题,与 https://dev59.com/JV8e5IYBdhLWcg3wfajv 相同。 - Martin R
2
与iOS或Swift无关。 - Martin R
1
@MartinR 这个问题不同。我的问题是当您通过Xcode提交应用程序时,您展示的问题是直接将图像上传到iTunes Connect。 - Haroldo Gondim
1
好的,我之前遗漏了一个重要的步骤,就是重新压缩文件,然后再上传。这样就可以解决问题了。也许其他新手也会卡在这一点上,所以我在这里提一下。 - konsti1337
在项目文件夹中删除应用图标上的 Alpha 通道。 - cain
25个回答

577

以下解决方案适用于我:

  1. 点击并打开应用商店图标(1024x1024)。
  2. 取消选择Alpha通道,导出该图标。
  3. 用新导出的图标图片替换当前的应用商店图标。
  4. 验证并上传。

注:此方法在Mac OS High Sierra上无法使用,请尝试较低版本以便不带Alpha导出或使用任何一款图像编辑应用程序,或尝试下面的替代方法。

替代方案1:(使用Sierra或High Sierra和Ionic)

  1. 将应用商店图标复制粘贴到桌面上。
  2. 打开该图像。单击文件菜单 -> 复制。
  3. 保存时取消选择Alpha通道。
  4. 用此图标替换当前的应用商店图标。
  5. 验证并上传。

替代方案2:如果复制无效,尝试在预览中打开它,然后执行文件导出。 我能够在那里取消选择alpha通道。- @AlejandroCorredor.

替代方案3:使用High Sierra和Ionic,在以下文件夹中找到了问题图像:[应用名称]/platforms/ios/[应用名称]/Images.xcassets/Appicon.appiconset/icon-1024.png。 我们需要将其复制到桌面上,并保存为未选中Alpha通道的文件,然后将其重命名为icon-1024.png,然后删除原始文件并将新文件复制回原始文件夹。尽管没有显示任何错误且所有权限设置为/777,但无法导出。- @RalphHinkley

输入图像描述


2
在我的高山操作系统上有效。 - Abdelrahman Ellithy
1
我不得不再次为iOS重新生成资源,之后重新编译和“归档”。 - AlejandroDG
3
使用第一种解决方案可在 macOS Mojave 10.14.1 和 Xcode 10.1 上运行。 - iphondroid
1
@ShamsudheenTK 如果我复制文件,我就无法选中或取消选中任何内容。iOS只是在没有任何确认窗口的情况下复制文件。 - Giacomo M
1
适用于Catalina。 - Al Mamun
显示剩余6条评论

109
我遇到了同样的问题,而且无法使用Shamsudheen TK提供的解决方案来解决它。即使源图标没有任何透明度,Ionic仍然会在我的图标上添加透明度。最终,我通过以下方法解决了这个问题:
安装ImageMagick(MacOS):

brew install imagemagick

从资源文件夹中去掉所有图像的 alpha 通道:

find ./resources/ -name "*.png" -exec convert "{}" -alpha off "{}" \;


6
谢谢。我肯定希望ionic/cordova团队尽快修复resources命令,以便在iOS构建时自动删除PNG的Alpha通道。 - pbnelson
为什么会显示“find: convert: 没有那个文件或目录”? - Yuyang He
你是否在ionic3项目的根目录下?pwd命令的输出是什么? - Lukas
请检查此链接:https://dev59.com/_lYM5IYBdhLWcg3wtB7i - Yuyang He
4
"convert" 是 "imagemagick" 的一部分,因此需要安装它。 - Lucio
显示剩余4条评论

41

对于像我这样从Flutter来到这个问题的人:

  1. 在你的pubspec.yaml文件中:
flutter_icons:
  android: false. // I already had android icons
  ios: true
  remove_alpha_ios: true
  image_path: 'assets/images/icon.png' // Your image path
  1. 运行 flutter pub get

  2. 运行 flutter pub run flutter_launcher_icons:main 生成没有 alpha 的 iOS 图标。

这对我来说解决了数天的问题。是的,我尝试过这里提出的所有解决方案。没有其他方法奏效。


这解决了我的问题!非常感谢你的帖子! - undefined

34

以下是我在High Sierra上使用的解决方案:

  1. 打开默认的OSX图像查看器 Preview app 并浏览 App Store 图标(1024 * 1024)。
  2. 从菜单栏中单击 File, 选择 Export. 查看截图
  3. 取消选中 Alpha, 选择导出图片的位置并单击 Save 按钮。 查看截图
  4. 用新导出的图标图像替换当前的 App Store 图标。
  5. 验证并上传。

17

如果你正在使用Flutter,请尝试这个包:https://pub.dev/packages/flutter_launcher_icons

然后添加:

flutter_launcher_icons:
flutter_icons:
  android: true
  ios: true
  remove_alpha_ios: true
  image_path: "assets/images/logo.png"

添加到你的pubspec.yaml文件中

它为我自己解决了问题


2
remove_alpha_ios: true FTW! - Keith DC

9

无论您尝试以上哪种方法,都需要像我一样将其上传到应用连接进行测试,以确保其有效并节省宝贵的时间。

enter image description here

enter image description here


这是验证的最佳解决方案。 - Ankit Kumar
2
这不再起作用,因为App Store Connect现在会自动从上传的应用发布构建中提取图标。 - Jochen Holzer

7
如果您上传ionic3项目到iTunes Connect时出现此错误,请查看此答案
当我尝试验证时,这是我的项目错误。 输入图像描述 最后,按照此答案进行操作,错误得到解决。 输入图像描述

1
这是特定于Ionic的,因为这个问题不是关于Ionic的,所以你指出的答案不适用于这个问题。 - cssmtnr

7

无效的 App Store 图标。在 'YourApp.app' 的资源目录中的 App Store 图标不能是透明或包含 Alpha 通道。

已解决于 Catalina

  1. 将图标复制到桌面
  2. 使用 预览 应用程序打开图像。
  3. 文件 -> 复制 关闭第一个打开的预览
  4. 在尝试关闭第二个复制的图像后,它将提示保存,然后您可以取消选中 AlPHA

查看我的截图

Catalina 中已解决的无效的 App Store 图标


6

我的一个愚蠢错误,删除了 alpha 后没有对应用程序进行归档。一直在提交我的旧归档应用程序,发现相同的 alpha/透明度错误。希望这可以帮到别人。


5
  1. https://appicon.co/生成App图标
  2. 删除Assets.xcassets文件(项目->ios->runner)
  3. 将新生成的图标文件夹中的Assets.xcassets复制并粘贴到这里(项目->ios->runner)
  4. 在XCode中执行“清除构建文件夹”操作
  5. 然后进行归档并上传新版本

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接