最近有一类上传错误开始频繁出现,表现为:

1Metadata validation failed: Deprecated Transporter usage. You are required to use the -assetFile command instead of the -f command with your .ipa or .pkg files. Additionally, to continue uploading apps using the Aspera and Signiant delivery methods, you are required to use Transporter 4.2 or later. (1046)

有些开发者是在:

  • Xcode 上传
  • altool 上传
  • 老版本上传脚本
  • 第三方上传工具(如Appuploader老通道,实测换新通道就可以

时遇到这个问题。报错是“Metadata validation failed”,其实问题是 Apple 调整了 Transporter 上传接口,旧上传方式被限制。

这篇文章从“为什么出现”“怎么定位”“如何替换上传方式”处理。


这个错误到底是什么意思

错误里的几个关键词:

Deprecated Transporter usage当前上传方式已经被 Apple 标记为旧接口

use the -assetFile command instead of the -f commandApple 要求新的上传参数格式

xxxxxxxxxx Transporter 4.2 or later旧版上传组件已经无法继续工作


哪些情况容易发生

这个问题主要出现在:

场景 触发原因
老版本 altool 使用旧参数
老版 iTMSTransporter 版本过低
旧上传脚本 调用了废弃接口
部分旧上传工具 内置旧 Transporter

IPA 没问题,但上传失败

很多人会误以为 IPA 构建有问题或者是证书失效,实际上检查发现 IPA 是正常的、App Store Connect 也正常

问题只发生在上传这里,也就是说是上传协议过期了,不是包有问题。

问题真正的解决方式,换上传通道,因为问题发生在,上传协议、Transporter 接口,所以核心处理方式不是修改 IPA,是更换上传方式


使用 AppUploader 新通道上传

这个问题在旧上传接口中会出现

可以直接使用 AppUploader(开心上架) 的新通道上传方式。

操作步骤:

  1. 打开提交上传页面,进入提交上传
  2. 选择 IPA,加载已经构建完成的 .ipa
  3. 设置 Apple 专用密码注意,不是 Apple ID 登录密码,是 App 专用密码(App-Specific Password)
  4. 切换新通道在上传通道中:选择新通道不要继续使用老通道。
  5. 重新上传,执行上传后会改用新的 Transporter 上传方式,构建可以正常进入 App Store Connect。

为什么换通道就能解决

这里的关键是不同通道使用的底层上传组件不同

旧通道:使用旧 Transporter 参数

新通道:适配 Apple 新接口

因此上传方式需要更新