iOS自动化打包,使用 deliver 上传APP的过程中遇到一个问题:Could not start delivery: all transports failed diagnostics Transporter transfer failed.

问题描述

1
2
3
Could not start delivery: all transports failed diagnostics
Return status of iTunes Transporter was 1: Could not start delivery: all transports failed diagnostics
The call to the iTMSTransporter completed with a non-zero exit status: 1. This indicates a failure.

解决思路

后来在 pilot 文档 和 deliver/issues/235 中发现解决思路

1
2
3
4
5
6
7
8
9
Firewall Issues
pilot uses the iTunes Transporter to upload metadata and binaries. In case you are behind a firewall, you can specify a different transporter protocol from the command line using
DELIVER_ITMSTRANSPORTER_ADDITIONAL_UPLOAD_PARAMETERS="-t DAV" pilot ...
If you are using pilot via the fastlane action, add the following to your Fastfile
ENV["DELIVER_ITMSTRANSPORTER_ADDITIONAL_UPLOAD_PARAMETERS"] = "-t DAV"
pilot...

在自动化打包脚本中,修改deliver上传APP指令:

DELIVER_ITMSTRANSPORTER_ADDITIONAL_UPLOAD_PARAMETERS="-t DAV" fastlane deliver

参考文档:

  1. deliver/issues/235
  2. fastlane/issues/2294
  3. pilot