EAS构建iOS失败:与苹果开发者门户的身份验证失败。

35
我正在使用EAS构建我的Expo应用程序,今天在尝试运行本地或EAS服务器上的iOS构建时遇到了此错误。我认为这可能是与Apple服务器有关的问题,希望它能很快得到解决。
构建命令输出:
✔ Select platform › iOS
✔ Using remote iOS credentials (Expo server)

If you provide your Apple account credentials we will be able to generate all necessary build credentials and fully validate them.
This is optional, but without Apple account access you will need to provide all the missing values manually and we can only run minimal validation on them.
✔ Do you want to log in to your Apple account? … yes

› Log in to your Apple Developer account to continue
✔ Apple ID: … ...
› Restoring session /Users/.../.app-store/auth/.../cookie
› Session expired Local session
› Using password for ... from your local Keychain
  Learn more
✔ Logged in New session
Authentication with Apple Developer Portal failed!
    Error: Cookie not in this host's domain. Cookie:developer-mdn.apple.com Request:developer.apple.com

还有其他人遇到这个问题并且有任何解决方法吗?

我尝试了删除存储的身份验证 cookie 并重新登录。我还尝试在 App Store Connect 上登录,看是否存在我的帐户问题,但没有找到任何问题。

10个回答

33

将eas-cli版本更新到3.5.2版本解决了我的问题。 只需运行以下命令:

npm install -g eas-cli 

它应该能够工作


我确认在我的情况下,从 eas-cli/3.5.1 win32-x64 node-v16.17.0eas-cli/3.5.2 win32-x64 node-v16.17.0 的迁移解决了这个问题。 - Sebastien F.
确认 ++ ➡️ npm install -g eas-cli 对我解决了问题。 - Radu Cimpian
1
同样的问题。我把版本从3.4.x 升级到了 3.5.2,问题就解决了。运行 npm install -g eas-cli - C. Louis S.
1
肯定的答案,应该被标记为这样... - jpmelanson
在这里,这就是你应该信任的答案。 - Guy-Avraham.com
这件事情奇怪的地方在于,我刚刚用那个命令安装了eas-cli。然而当我运行它时,我注意到它并不是最新版本。所以我再次运行了完全相同的命令,它将其升级到了最新版本,然后它就正常工作了。真是让人费解。 - Boom King

5

我曾经遇到过同样的错误。在回答“您是否要登录您的Apple账户?”的问题时,我选择了no,然后才能开始构建。希望这个解决方法对你有用。

Github问题 https://github.com/expo/eas-cli/issues/1672#issuecomment-1416851869

编辑:正如@Dviros在上面指出的那样,运行npm install -g eas-cli可以得到一个明确的解决方案。


这对构建工作,但使用 EAS 提交应用程序不可能 :/ - Tim Langner
是的,我通过跳过登录成功地构建了应用程序,但是接下来我不得不对应用程序的预配资料进行一些更改,现在它需要连接到苹果才能构建。希望它能很快修复。 - Kollin Murphy
对我不起作用。一旦我点击“否”,它会说“没问题”,但立即要求登录。 - Alex A
1
它已在 eas-cli 版本 3.5.2 中修复。 - Wodin
更新eas-cli已解决此问题。 - Arun K

3

3
我能够通过使用本地凭据来解决苹果登录问题。
通过访问Expo网站,我下载了分发证书和配置文件证书。还有一个文件包含了访问分发证书所需的密码。然后,我在eas.json中配置了生产构建文件。 https://docs.expo.dev/app-signing/local-credentials/
...
"ios": {
  "credentialsSource": "local"
},
...

我创建了一个名为credentials.json的文件,其中包含:

{
  "ios": {
    "provisioningProfilePath": "relative/path/to/provisioning/profile.mobileprovision",
    "distributionCertificate": {
      "path": "relative/path/to/distribution/certificate.p12",
      "password": "<MYPASSWORD>"
    }
  }
}

然后按照正常命令进行构建,它不再提示我登录到Apple。构建过程很顺利!


1
谢谢@kollin-murphy,这对我很有用。 下载苹果分发证书p12和预配文件的直接链接是: https://developer.apple.com/account/resources/certificates/list - Adriaan Balt

2

这个问题现在已经被Expo团队解决了。 要使其正常工作,您只需更新到最新的eas-cli即可。操作如下:

npm i -g eas-cli

然后构建或提交您的应用程序到iOS。
eas build --platform ios --auto-submit

当然,你可以忽略--auto-submit。

1

我不建议将密码放在文件中,这是一种危险的做法。我猜Expo EAS团队需要查看并为我们所有用户找到解决方案。


只要您不将其提交到存储库并将其添加到 .gitignore 中,我认为将密码放入文件中没有任何问题。但我确实同意他们需要尽快修复这个问题。 - Kollin Murphy

1
EXPO团队在其状态页面上创建了一个关于此问题的事件: 使用EAS Build续订证书/配置文件时的Apple认证错误 我们目前正在调查与Apple进行身份验证以续订证书/配置文件的上游问题。
如果您正在使用本地凭据,运行非交互式构建或者您不需要登录到Apple,因为您的证书/配置文件是最新的,则不受此事件影响。
我希望他们能尽快修复它!

0

使用 Transporter。

我遇到了同样的问题,但我使用 Transporter 解决了它。我使用 eas build 将应用程序上传到 Expo 服务器,从那里下载应用程序并将其上传到 Transporter。


0

使用 npm i -g eas-cli 全局重新安装 eas-cli 并不能解决我的问题。

我通过更新本地项目中的eas-cli软件包来解决了这个问题。

将你的 package.json 更新为 "eas-cli": "^3.5.2", 然后运行 npm i 重新安装即可。


0

当使用`eas build --platform ios`时,它会询问,选择否 ✔ 您是否要登录到您的Apple账户? … 否


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接