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

时间:2020-02-25 21:02:45

标签: ios react-native continuous-integration expo gitlab-ci

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

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"

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

EXPO_APPLE_PASSWORD
EXPO_IOS_DIST_P12_PASSWORD

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

[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>\r\n<head><title>502 Bad Gateway</title></head>\r\n<body>\r\n<center><h1>502 Bad Gateway</h1></center>\r\n<hr><center>Apple</center>\r\n</body>\r\n</html>\r\n\n"
    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)

这是expo build:ios命令无法对Apple Portal进行身份验证的原因吗? 我在此命令中缺少什么?

PS:我的笔记本电脑上的这些命令正常工作!

3 个答案:

答案 0 :(得分:1)

在我的开发机器上的交互模式下,我遇到了类似的问题。

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

作为参考,我在最新的 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

答案 1 :(得分:0)

您需要使用expo build:ios --clear-credentials对我来说很好。

按链接中指定的波纹管

-c,--clear-credentials清除存储在Expo服务器上的所有凭据。

https://forums.expo.io/t/solved-ios-standalone-build-failed/10007/3?u=alihussnain

答案 2 :(得分:0)

答案不是很令人满意,但是它对我有用:删除node_modules,然后重新安装所有依赖项。

上周我们没问题,但是今天我们一直遇到这个错误。

只要您拥有yarn.lock或NPM的等效版本,此可能的修补程序的风险就为零,从而可以确保下载的版本与原始版本匹配。