ITMS-90704 图标错误排查记录,从 IPA 内部开始定位

0 阅读3分钟

在一次正常的提交流程中,IPA 上传完成后,很快收到一条提示:

ERROR ITMS-90704: Missing Marketing Icon

没有崩溃日志、编译报错,只是上传的时候被拒了,这种问题如果直接改配置,容易反复试错。更稳妥的方式,是先确认 IPA 里到底有没有图标。


一、先不要改项目,先看 IPA 的内容

很多人第一步会打开 Xcode 去改 Assets,但其实更直接的方式是先确认 IPA 包里是否真的包含 1024 图标

可以直接解压 IPA:

unzip app.ipa -d ipa_tmp

进入目录:

ipa_tmp/Payload/YourApp.app/

然后检查:

  • 是否存在 Assets.car
  • 是否存在 AppIcon 资源

如果 Assets.car 存在,但仍然报错,就需要进一步判断:

Assets.car 里是否包含 1024x1024 marketing icon


二、常见误区:有图标 ≠ 有营销图标

在 Assets.xcassets 中:

  • AppIcon 中包含多尺寸图标
  • 但 1024x1024 是“单独要求”

错误通常出现在:

  • 只配置了 180 / 120 / 60 等尺寸
  • 或者 1024 图标没有被正确打包

三、验证 Assets.car 内容(关键步骤)

在 macOS 上可以使用:

assetutil --info Assets.car

查找输出中是否包含:

"SizeOnDisk": 1024x1024

如果没有,说明:

  • 打包时未包含 marketing icon
  • 或 icon set 配置不完整

四、问题出现的几种具体情况

结合实际排查,可以归纳出几种触发方式:


情况 1:图标文件存在,但未被引用

Assets 中有 1024 图片,但:

  • 没有拖入 AppIcon
  • 或未勾选对应位置

情况 2:使用第三方打包工具

例如:

  • HBuilder
  • 一些跨平台工具

这些工具如果未正确生成 Assets.car,会导致:

  • 图标存在
  • 但未进入最终包

情况 3:图标格式不符合要求

即使尺寸正确,也可能失败:

  • 不是 PNG
  • 使用了透明通道(某些场景)
  • 色彩空间不是 RGB

五、修复流程

步骤 1:准备正确图标

要求:

  • 1024x1024
  • PNG
  • RGB

步骤 2:重新生成完整图标资源

手动处理容易遗漏尺寸,可以直接使用工具生成完整资源。

例如使用 AppUploader(开心上架) 的图标生成工具:

  1. 打开图标生成页面
  2. 上传 1024 原图
  3. 自动生成 iOS 所需全部尺寸
  4. 导出 Assets.car 或图标资源

图标

这样可以避免:

  • 尺寸缺失
  • 命名错误
  • 格式问题

步骤 3:替换项目图标

在 Xcode 中:

  1. 打开 Assets.xcassets
  2. 删除旧 AppIcon
  3. 导入新生成的图标集
  4. 确认 1024 图标已填充

步骤 4:重新打包

执行 Archive → Export IPA。


步骤 5:再次验证 IPA

重复第一步:

  • 解压 IPA
  • 检查 Assets.car

确认已包含 marketing icon。


六、上传环节的检查

在上传前,可以增加一个检查动作:

  • 确认 Info.plist 中 icon 配置
  • 确认 Assets.car 存在
  • 确认 Bundle ID 正确

如果使用 Windows 上传工具,例如 AppUploader:

  1. 选择 IPA
  2. 上传前检查文件
  3. 切换上传通道
  4. 提交上传

这样可以减少反复失败的情况。


ITMS-90704 是最终包中没有符合要求的 marketing icon,不是图标缺失。

参考链接:www.appuploader.net/blog/238