使用 Jenkins 和 altool 自动上传 IPA 失败并出现“找不到传输器”错误

Posted

技术标签:

【中文标题】使用 Jenkins 和 altool 自动上传 IPA 失败并出现“找不到传输器”错误【英文标题】:Automatic IPA uploading with Jenkins and altool fails with 'Transporter not found' error 【发布时间】:2015-11-02 13:26:20 【问题描述】:

我正在使用 Jenkins 和 altool 验证 ios 包并将其自动上传到我的 iTunes 帐户。虽然验证工作正常并且我没有收到错误,但上传不起作用。

'/Applications/Xcode.app/Contents/Applications/Application Loader.app/Contents/Frameworks/ITunesSoftwareService.framework/Versions/A/Support/altool' --upload-app -f my_application.ipa -u **** -p '****'

结果我收到以下错误:

altool[35164:1584273] 错误:启动时出现异常 iTunesTransporter:在路径中找不到传输器: /usr/local/itms/bin/iTMSTransporter。你应该重新安装 应用。 altool[35164:1584271] 错误:上传错误

如果我使用相同的包并尝试使用Application Loader 上传它,一切正常。

【问题讨论】:

我隐约记得升级 Xcode 后出现此错误。您可以尝试重新创建 /usr/local/itms 符号链接以指向 Xcode.app 的正确子目录。例如对于 Xcode 7.1 是这样的: ln -s /Applications/Xcode.app/Contents/Applications/Application\ Loader.app/Contents/itms /usr/local/itms 这有帮助!请回复以将其标记为解决方案 这是altool 中的一个错误,它仍然存在于与 Xcode 7.2 捆绑的 Application Loader 3.4 中。请务必提交错误报告,以便得到修复。 你是如何使用 Jenkins 实现自动化的,@AlexeyStrakh?有没有一个插件,或者你正在使用“shell”步骤?是否必须“按原样”指定“密码”还是可以使用凭据提供程序?你能举个例子吗?谢谢!! shell exec,只是它 【参考方案1】:

尝试重新创建 /usr/local/itms 符号链接以指向 Xcode.app 的正确子目录。例如,对于 Xcode 7.1 来说是这样的:

ln -s /Applications/Xcode.app/Contents/Applications/Application\ Loader.app/Contents/itms /usr/local/itms

这在 Xcode 升级后可能是必要的。

【讨论】:

以上是关于使用 Jenkins 和 altool 自动上传 IPA 失败并出现“找不到传输器”错误的主要内容,如果未能解决你的问题,请参考以下文章

sh 使用altool将ipa上传到testflight

Mac OS App Store 应用程序的 altool 上传应用程序的预期文件格式?

使用 api 密钥时的 Apple Application Loader altool 问题

避免输入 altool 的钥匙串密码

公证问题:altool 不在 PATH 中?

Springboot docker jenkins 自动化部署并上传镜像