タイトルの通りCircleCIでは実現が難しいことがわかったので紹介します。
背景として、先日、AppleIDの2FAが必須になりました。
fastlaneは2FAにも対応しており、詳しくは下記に記載があります。
Continuous Integration - fastlane docs #authentication-with-apple-services
具体的には fastlane spaceauth -u user@email.com
を実行し、出力された値を環境変数に設定するというものです。
ただし、上記を実行した環境と利用する環境でregionが違うと失敗する可能性があるようで、私の環境ではCircleCIに上記で得られた値を設定しても正常に動作しませんでした。
少し古いISSUEになりますが、2FAを無効にすると良いという回答もあります。
Locally generated FASTLANE_SESSION does not work on CI machine · Issue #9518 · fastlane/fastlane
今回はAccount Holderではないアカウントを使用したのですが、そのアカウントも2FAを無効にできず、その解決策が使えなくなっているようでした。
ちなみに、Bitraseでは2FAを行う環境が用意されているようです。
App Store Connect 2FA solved on Bitrise | Bitrise Blog