当我尝试通过 Fastlane 发送我的申请时,我遇到以下错误:
使用您生成的应用程序专用密码登录。如果你忘记了 应用程序专用密码或需要创建新密码,请转至 appleid.apple.com (-22938)
Transporter 传输失败。使用您的应用专用密码登录 生成的。如果您忘记了应用程序专用密码或需要创建一个 新的,请访问 appleid.apple.com (-22938)您的帐户有 2 个步骤 验证已启用。请前往 https://appleid.apple.com/account/manage并生成应用程序 iTunes Transporter 的特定密码,用于上传 构建。使用以下命令在 CI 计算机上设置应用程序特定密码 环境变量,您可以设置 FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD 变量。
请提供您的Apple开发者计划帐户凭据您输入的登录信息将存储在您的macOS钥匙串中 密码([email protected] 的应用程序特定)
正如错误消息所示,我们需要在以下位置创建一个应用程序专用密码:
地址。转到安全部分并使用生成密码。
使用生成密码链接创建新密码。复制并粘贴密码,不要忘记,单击完成按钮后您将无法再次找到密码。
然后,在 bash 或 .bash_profile 文件中设置 FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD 环境变量。该文件可能会有所不同,具体取决于您在终端上对 bash 的选择。例如,如果您选择的 bash 是像我一样的 ZSH,则需要编辑 .zshrc 文件。
然后重新运行您的快速通道:
bundle exec fastlane beta --verbose
注意: 当您无法手动输入安全代码时(如在持续集成系统上),您必须使用其他方式登录。如果您的操作使用除了上传应用程序之外的其他操作,则应用程序专用密码将不起作用。二进制,例如更新任何元数据,例如设置发行说明或分发给测试人员等。
由于您的 CI 机器将无法提示您输入两步验证或两步验证信息,因此您需要提前生成 Apple ID 的登录会话。您可以通过运行以下命令在本地计算机上获取此信息:
fastlane spaceauth -u [email protected]
不支持 2FA 的 Apple ID 已被弃用! Apple 宣布,自 2019 年 2 月 27 日起,将对具有“帐户持有者”角色的开发者 Apple ID 强制执行两因素身份验证。从那时起,他们将此规则扩展到所有角色,然后在 2020 年晚些时候,他们慢慢强制所有现有帐户注册 2FA。截至 2021 年 3 月 3 日,未注册 2FA 的帐户在注册 2FA 方法之前都无法登录,这基本上打破了所有仍然存在的“不符合 2FA 的 Apple ID”。因此,在 CI 中使用 fastlane 时,您必须使用 2FA。
了解更多,请查看 fastlane 文档 .
希望这有帮助!
我遇到了这个问题,但在 .zshrc 处设置 FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD 环境变量(我正在使用 ZSH)不起作用。
相反,我在 Fastfile:
中设置了该 varbefore_all do
...
ENV['FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD']= 'xxxx-xxxx-xxxx-xxxx'
...
end
解决此问题的简单方法
问题:
答案:
步骤1
步骤2
步骤3
步骤4
我在尝试与
pilot/upload_to_testflight
一起使用 FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD
时遇到问题。它总是在 2FA 步骤上给我带来错误。事实证明,为了让 pilot
使用该环境变量,必须传递 2 个参数 、apple_id
和 skip_waiting_for_build_processing
,否则将使用正常的用户名和密码身份验证。
pilot(apple_id: ENV["YOUR_ID"],
skip_submission: true,
skip_waiting_for_build_processing: true)
请注意,这仅适用于上传,对于任何其他交互,建议的方法是使用 api_key。
您需要先运行此命令
export FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD=your-app-spesific-password
然后就可以使用fastlane命令了。
fastlane beta --verbose