使用您生成的应用专用密码登录。如果您忘记了应用专用密码或需要创建一个新密码 -22938

Sign in with the app-specific password you generated. If you forgot the app-specific password or need to create a new one -22938

当我尝试通过 Fastlane 发送我的应用程序时,我遇到了这个错误:

Sign in with the app-specific password you generated. If you forgot the app-specific password or need to create a new one, go to appleid.apple.com (-22938)

Transporter transfer failed.Sign in with the app-specific password you generated. If you forgot the app-specific password or need to create a new one, go to appleid.apple.com (-22938)Your account has 2 step verification enabled. Please go to https://appleid.apple.com/account/manage and generate an application specific password for the iTunes Transporter, which is used to upload builds. To set the application specific password on a CI machine using an environment variable, you can set the FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD variable.

Please provide your Apple Developer Program account credentials The login information you enter will be stored in your macOS Keychain Password (application-specific for xxx@yyy.com)

解决方案

如错误消息所述,我们需要在以下位置创建 应用专用密码

http://appleid.apple.com

地址。转到安全部分并使用生成密码。

生成密码

使用生成密码 link 创建新密码。复制并粘贴密码,别忘了在单击“完成” 按钮后您将无法再次找到密码。

FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD

然后,在 bash 或 .bash_profile 文件中设置 FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD 环境变量。该文件可能会有所不同,具体取决于您在终端上对 bash 的选择。例如,如果您选择的 bash 和我一样是 ZSH,则需要编辑 .zshrc 文件。

然后重新运行你的快车道:

bundle exec fastlane beta --verbose

注意:当您无法手动输入安全码时,如在持续集成系统上,您必须使用其他方式登录。应用程序专用密码将如果您的操作使用除了上传二进制文件之外还有其他任何事情,则不起作用,例如更新任何元数据,例如设置发行说明或分发给测试人员等。

正在为 Apple ID 生成登录会话

由于您的CI机器将无法提示您输入双因素验证或两步验证信息,您需要提前为Apple ID生成登录会话。您可以通过 运行ning:

在您的本地计算机上获取此信息
fastlane spaceauth -u user@email.com

更多请查看fastlane documentation.

希望对您有所帮助!

这是错误的截图

这里是创建 app-specific password

我在尝试将 pilot/upload_to_testflightFASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD 一起使用时遇到问题。它总是在 2FA 步骤上给我错误。事实证明,为了 pilot 使用该环境变量 2 个参数 必须 传递,apple_idskip_waiting_for_build_processing,否则正常的用户名和将使用密码验证。

pilot(apple_id: ENV["YOUR_ID"],
        skip_submission: true,
        skip_waiting_for_build_processing: true)

请注意,这仅适用于上传,对于任何其他交互,推荐的方法是使用 api_key。

我遇到了这个问题,但是在 .zshrc 中设置 FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD 环境变量(我使用的是 ZSH)没有用。

相反,我在 Fastfile:

中设置了那个 var
before_all do
  ...
  ENV['FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD']= 'xxxx-xxxx-xxxx-xxxx'
  ...
end

解决此问题的简单方法
题: 答案:
步骤1
步骤2
步骤3

step4

  1. https://appleid.apple.com
  2. 创建App-Specific密码
  3. 像例子一样输入一个字符串
  4. 得到你的App-Specific密码

完成: