证书中的 Bundle ID 与您输入的 Bundle ID 不匹配

The Bundle ID in the certificate does not match the Bundle ID you entered

我的证书 Bundle ID 与在 Firebase 控制台中输入的 Bundle ID 不匹配,当我尝试为云消息传递上传证书时。我收到错误:

The Bundle ID in the certificate does not match the Bundle ID you entered.

我的问题是,在 Xcode、Apple Developer Portal 和 Firebase Console 中匹配项目 Bundle ID 的最佳方式是什么?我是否在 iTunes Connect 中创建一个新应用程序然后生成新证书?我可以在 Firebase 控制台或 Apple Developer Portal 中更改 Bundle ID 吗?或者我是否可以像在我的 Firebase 控制台中那样简单地使用匹配的包 ID 创建新证书,而无需在 iTunes Connect 中创建新应用程序?

按照下面的说明进行操作。

在 firebase 控制台中创建新应用并为该应用添加与您在苹果开发者帐户中添加的相同的包 ID。这将解决您的问题。

转到 firebase 控制台并更新您的项目包 ID,与苹果开发者帐户中的相同。

Firebase documentation regarding certificates 具有误导性。在第 8 步的 为推送通知配置应用程序 ID 部分中,它告诉您展开箭头并导出私钥。不要这样做,只需将证书本身(即在私钥上方的行)导出为 .p12 即可。

我将此答案添加为已接受答案的补充。如果您收到此错误,那是因为您的应用程序包标识符与您在创建 Firebase 应用程序时提供给 Firebase 的标识符不匹配。

查找您的 firebase 包标识符:

转到 Firebase > 项目概述 > 找到您的 iOS 应用程序并按右侧的 3 个垂直点,然后按设置。您应该能够向下滚动并找到列出的 Bundle ID

查找您的苹果包标识符:

打开 Xcode,单击您的顶级项目文件,然后单击“常规”选项卡。在签名下,找到 Provisioning Profile 并单击提供的配置文件右侧的 'i' 图标以查看更多信息。您的应用程序和开发者帐户的捆绑包 ID 都应列出。

您的 Firebase Bundle ID 和 Apple Bundle ID 必须匹配。如果他们不这样做,最简单的方法就是在 Firebase 中创建一个新应用程序。不要忘记这将要求您再次下载 Google-Info.plist 文件。其他一切都应该是直截了当的。

在 Firebase 的文档中上传 APNS 证书并不是那么简单,所以我也会写下如何做到这一点。

  1. 假设您已生成证书并将其添加到钥匙串,打开钥匙串访问应用程序并右键单击您的 APNS 证书(列为 Apple Development Push Services 或类似名称)。
  2. 右键单击并 select 导出。
  3. 在 Firebase 上,转到项目概述,找到您的 iOS 应用程序,然后再次按 3 个垂直点和 select 设置。
  4. 在此页面的顶部,切换到“云消息传递”选项卡。您应该会看到一个用于上传您的 APNS 证书的部分。您需要提供在步骤 1 和 2 中导出证书时创建的密码。

请从 keychain.And 中删除所有与 apns 相关的证书,然后再次安装。

以防万一发生在我身上。

确保您从 Apple 推送通知服务 SSL 证书生成 .p2 文件。

如果您尝试 .p12 使用其他证书,您将遇到 bundledid 不匹配问题。