iOS 上架时报错 “Metadata validation failed Deprecated Transporter usage.” 怎么处理

3 阅读2分钟

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

Metadata 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 新接口

因此上传方式需要更新