Skip to content

修复 EAS 上的 iOS 构建证书错误

在重构/清理项目期间,你可能会在运行 eas build -p ios 时遇到以下错误:

✖ 缺少用于分发配置文件的签名证书: 88Q43G...,...
确保配置概要文件使用的签名证书已存在并且有效...

或者,类似由于配置文件到期或密钥链不匹配的错误。以下是解决此问题的方法:这是最简单的修复过程。

解决步骤

  1. 清除与你的 Apple 账户相关联的 EAS 凭据: 通过重置配置文件,迫使 EAS 重新生成/重新获取正常工作的 Apple 开发人员证书,并且在不清除所有配置的情况下,可能会残留对已删除密钥的引用。
bash
# 这并不会立即删除你的旧证书,而是告诉当前本地项目清除它,以便进行下一步
eas credentials -p ios

你将被提示有关使用你的 Apple ID 对 MysticX iOS 进行配置。执行以下操作:

  • 选择 生产
  • 它可能会向您展示当前的证书详细信息。
  • 选择 Remove credentials 或如果你只想放弃该配置文件,请从列表中清除它们并在你拥有更多提示时按 Y 回答确认删除。然后按 Ctrl+C 退出提示符,或顺着操作。

更好的方法,如果你只想一键修复配置,而不想在控制台中交互:

bash
# 完全清理所有针对当前项目的 iOS 凭据
eas credentials -p ios --clear

(注意:在最新版本的 EAS CLI 中,如果 --clear 不起作用,只需运行 eas credentials -p ios 并利用交互菜单移除关联的配置文件/分发证书即可)。

  1. 重新运行构建并让 EAS 生成新凭据:

执行构建并将 auto-submit 或相关标志附加:

bash
eas build --platform ios --profile production
  • 该过程将告诉你你不存在分发证书。
  • 它将询问:"Generate a new Apple Distribution Certificate?" -> 回答 Y (Yes)
  • 接着它会询问你是否要让它重新设置应用配置文件、推送密钥等。都回答 Yes(按下回车或输入 Y)。

EAS 将成功地:

  1. 删除旧配置文件,
  2. 使用新生成的签名证书创建新的分发配置文件。
  3. 最终通过验证,并排队等待 iOS 构建。

预防未来的证书问题

  • 不要手动删除 Apple Developer Portal (App Store Connect) 中的证书或配置文件,如果你还没有先在 EAS CLI 中移除对应的内容的话。
  • 总是让 EAS CLI 管理你的配置文件和推送证书以获得最流畅的体验。你可以将其留在云端,这样团队成员使用 eas build 也可以正常编译应用。

Internal documentation for MysticX team