执行 expo build:ios 时 Apple Developer Portal 中的身份验证失败

Failed authentication in Apple Developer Portal when execute expo build:ios(执行 expo build:ios 时 Apple Developer Portal 中的身份验证失败)

本文介绍了执行 expo build:ios 时 Apple Developer Portal 中的身份验证失败的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试自动配置通过 Gitlab-CI 使用 Expo 构建 iOS 应用程序.这是我正在使用的命令:

I'm trying to config automatically build iOS apps using Expo through Gitlab-CI. This are the commands that I am using:

expo login -u expo_user -p expo_pass
expo build:ios --non-interactive --apple-id my_id@domain.com --clear-dist-cert --clear-provisioning-profile --dist-p12-path "path_to_file.p12" --provisioning-profile-path "path_to_file.mobileprovision"

我已经传递了这个环境变量的各自值:

I am already passing the respective values of this env vars:

EXPO_APPLE_PASSWORD
EXPO_IOS_DIST_P12_PASSWORD

在第二个命令执行期间,它会启动以下日志:

During the 2nd command execution it launch this logs:

[14:24:23] Trying to authenticate with Apple Developer Portal...
[14:24:25] Authentication with Apple Developer Portal failed!
[14:24:25] Error: Reason: Unknown reason, raw: "<html>
<head><title>502 Bad Gateway</title></head>
<body>
<center><h1>502 Bad Gateway</h1></center>
<hr><center>Apple</center>
</body>
</html>

"
    at runAction (/expo-cli@3.13.1/src/appleApi/fastlane.ts:28:17)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
    at Object.authenticate (/expo-cli@3.13.1/src/appleApi/authenticate.ts:46:40)
    at IOSBuilder.getAppleCtx (/expo-cli@3.13.1/src/commands/build/ios/IOSBuilder.js:47:23)
    at IOSBuilder.produceMissingCredentials (/expo-cli@3.13.1/src/commands/build/ios/IOSBuilder.js:123:22)
    at IOSBuilder.prepareCredentials (/expo-cli@3.13.1/src/commands/build/ios/IOSBuilder.js:65:7)
    at IOSBuilder.run (/expo-cli@3.13.1/src/commands/build/ios/IOSBuilder.js:19:7)
    at IOSBuilder.command (/expo-cli@3.13.1/src/commands/build/BaseBuilder.js:55:7)
    at Command.<anonymous> (/expo-cli@3.13.1/src/exp.ts:81:7)

我使用的 Apple Developer 帐户已配置双因素身份验证 (2FA).

The Apple Developer account that I am using have configured the Two Factor Authentication (2FA).

这就是为什么 expo build:ios 命令未能通过 Apple Portal 的身份验证的原因吗?我在这些命令中缺少什么?

Is this the reason why the expo build:ios command is failing the auth against Apple Portal? What am I missing in this commands?

PS:我的笔记本电脑上的这些命令运行良好!

PS: These commands on my laptop works fine!

推荐答案

在我的开发机器上以交互模式发生了类似的问题.

A similar issue was happening to me in interactive mode on my dev machine.

碰巧对我有用的一件事是在隐身窗口中登录 App Store Connect 以触发 2FA.不知道是不是巧合,但确实奏效了!

One thing that happened to work for me was logging into App Store Connect in an incognito window to trigger the 2FA. Not sure if it's a coincidence, but it worked!

作为参考,我在最新的 expo-cli@4.9.1

For reference, I was getting a similar error on the latest expo-cli@4.9.1

✖ Logging in...
Authentication with Apple Developer Portal failed!
    Error: Apple Service Error -1018. Could Not Complete Request. Your request could not be completed because of an error. Please try again later. Apple servers may be down right
    now, please try again in about 10-20 minutes

这篇关于执行 expo build:ios 时 Apple Developer Portal 中的身份验证失败的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:执行 expo build:ios 时 Apple Developer Portal 中的身份验证失败

基础教程推荐