使用Fastlane / CircleCI自动化2FA

问题描述 投票:0回答:1

设置2FA for beta上传到iTunesConnect / TestFlight的正确方法是什么?

有很多链接和论坛的答案,但没有解决问题。

目前,我已将环境变量添加到CircleCI中,包括在AppleID上生成的应用程序特定密码。

我在Fastlane有一条看起来像这样的车道

desc "Alpha build"
  lane :alpha do
    match(type: "adhoc")
    gym(export_method: "ad-hoc")
    upload_to_testflight(skip_submission: true)
  end

我在alpha通道之前运行下面的preauth命令

- run:
    name: Spaceship pre-auth for 2FA
    command: bundle exec fastlane spaceauth -u [redacted].com

即使密码正确,Fastlane似乎也失败了auth

Please check your credentials and try again.
This could be an issue with App Store Connect,
Please try unsetting the FASTLANE_SESSION environment variable

如果我删除了spaceauth命令,则circleci会因等待2FA而超时失败。

Fastlane网站表示,除非使用额外的应用商店连接API,例如上传元数据等,否则不需要使用spaceauth。它声明,对于上传到testflight,只有应用程序专用密码应该足够,尽管这也不起作用。

有没有人解决过这个可以提出建议的问题?

ios circleci fastlane
1个回答
0
投票

那里的文档错了 - 这是我的错。我在实际代码之前更新了文档文章,使其合并。

您当前最好的方法是创建第二个帐户,该帐户没有启用2FA,或者在本地使用spaceauth,然后将返回的值复制到CI提供程序上的ENV变量中,尽管它可能只能工作24小时。我们目前正在调查如何改进这一点。


0
投票

使用CI服务器的REST API更新FASTLANE_SESSION配置参数的值。在我们的例子中,我们将它定义在一个地方,并且它可以被需要授权到Dev Center / App Store Connect的所有作业重用。我没有查看详细信息,但我确信有一种方法可以通过REST调用更新作业/项目参数。然后,再次运行一个运行spaceauth的计划作业,并使用REST API设置新值。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.