自动 Apple TestFlight 上传

Automatic Apple TestFlight upload

现在 Apple 正在关闭(旧的)TestFlight,我开始研究他们自己的 TestFlight 实现。

有什么方法可以通过脚本向 Apple 提交二进制文件吗?也许通过 "Application Loader"?我想将其集成到 CI 系统中。

编辑: 我能够通过 AppleScript 控制 Application Loader,脚本的未完成版本在这里:https://gist.github.com/maciekish/88fb6935c3d2a213b1d2

新问题是如何构建 .ipa 文件以在 post 存档脚本中提供给 Application Loader?

两者 fastlane and nomad 都提供了用于构建和上传二进制文件(以及其他内容)的优秀命令行资源。

我挣扎了很久,最后我配置了 TeamCity 和 TestFlight,并使用以下脚本将生成的 IPA 从 team city 上传到试飞中。这是 Application Loader 命令行工具

/Applications/Xcode.app/Contents/Applications/Application\ Loader.app/Contents/Frameworks/ITunesSoftwareService.framework/Support/altool --upload-app -f %system.teamcity.build.workingDir%/Build/IPA/**IPA_NAME**.ipa -u '**TESTFLIGHT_USER_NAME**' -p '**TESTFLIGHT_PASSWORD**'

我知道它已经完全过时了,但是对于那些以后遇到这个 post 的人来说。

是的,您可以使用名为 altool 的应用程序加载器 command-line 工具自动执行上传过程:

http://help.apple.com/itc/apploader/#/apdATD1E53-D1E1A1303-D1E53A1126

上传 .ipa 文件的语法是:

altool --upload-app -f [path_to_file] -u [用户名] -p [密码]

此工具需要 Mac,但您始终可以从 macincloud.com(不相关)租用 mac,并使用像 Jenkins 这样的 CI 服务器自动执行该过程左右。

Apple 已发布用于应用商店连接的 API。通过使用这些 API,您可以自动化 TestFlight 相关操作,例如 add/delete 测试人员或提交构建以供审核等。您可以在此处找到更多详细信息: https://developer.apple.com/documentation/appstoreconnectapi/testflight