跳转到主要内容
要向 iOS 应用发送推送通知,需要与 Apple 推送通知服务 (APNs) 的身份验证连接。您可以使用**基于令牌的 (.p8 密钥)基于证书的 (.p12 文件)**方法进行身份验证——但只需要一种。 本指南将指导您设置基于令牌的 .p8 密钥,这是推荐的方法。

要求

在开始之前,请确保您具备以下条件:

步骤

在 Apple Developer 账户中生成您的 .p8 密钥

  1. 登录您的 Apple Developer 账户
  2. 转到证书、标识符和配置文件 > 密钥
  3. 点击蓝色加号 (+) 图标。
    • 如果您看不到它,请联系您的管理员获取访问权限。
  1. 选择 Apple 推送通知服务 (APNs)
  2. 配置密钥时,确保选中沙盒和生产
  1. 输入密钥名称并点击继续,然后点击注册
  1. 下载您的 .p8 密钥并安全存储。您将无法再次下载它。
如果您需要创建新的 .p8 而已经有两个,您必须先撤销现有密钥中的一个——它将不再可用。

将 .p8 密钥上传到 OneSignal

  1. 在您的 OneSignal 控制台中导航到设置 > 推送和应用内 > Apple iOS (APNs) 设置

OneSignal 控制台推送配置页面。

  1. 选择 **.p8 认证密钥(推荐)**作为身份验证方法。

如果从 p12 或另一个 p8 更新,您将有“更新身份验证”的选项

提供以下内容:
  • .p8 文件 – 您从 Apple Developer 帐户下载的私钥文件。
  • 密钥 ID – 位于您 Apple Developer 帐户的 密钥部分。确保它与下载的 .p8 文件匹配。
  • 团队 ID – 在您的 Apple Developer 帐户 右上角找到。
  • 应用包 ID – 您可以在此处找到:

查找您的 .p8 密钥详细信息

在 Xcode 中查找您的包 ID

完成后点击保存并继续
您已成功在 OneSignal 中设置了使用 .p8 密钥的 APNs 身份验证您的 iOS 应用现在已准备好发送和接收推送通知!🎉

.p8 故障排除

分步检查清单:
1

检查 .p8 文件格式

  • 在文本编辑器中打开 .p8 文件。
  • 它应该看起来像这样:
    -----BEGIN PRIVATE KEY-----
    64 character line
    64 character line
    64 character line
    8 character line
    -----END PRIVATE KEY-----
    
2

确保您没有错误上传 .p12 文件

  • .p8 密钥来自您 Apple Developer 帐户的 密钥 部分。
  • .p12 证书来自 证书 部分。这些与 .p8 身份验证不兼容。
3

确认您拥有正确的密钥 ID

4

验证团队 ID

  • 您的 团队 ID 显示在您 Apple Developer 帐户 的右上角。
  • 确保它被精确复制并与生成密钥的帐户匹配。
5

确保密钥具有 APNS 功能

  • 在 Apple Developer 中查看您的密钥时,应列出 Apple Push Notifications service (APNs) 功能。
  • 如果没有,请撤销密钥并创建一个新的。
6

等待几分钟

  • 新创建的密钥可能需要 10-15 分钟 的传播时间,然后 Apple 才允许外部身份验证。
  • 如果您在创建后立即遇到验证错误,请等待并再次尝试。

当所有其他方法都失败时

  • 撤销当前的 .p8 密钥并从头创建一个新的。
  • 仔细检查您使用的是来自创建密钥的同一帐户的有效包 ID
  • 联系 support@onesignal.com,提供密钥 ID、团队 ID、包 ID 以及您的 Apple Developer 密钥配置的编辑截图。

常见问题

我需要配置文件吗?如何创建?

是的,Apple 要求为开发、测试 (Ad Hoc) 和分发到 App Store 使用不同类型的配置文件。 在 Xcode 中,您应该能够选择自动管理签名来自动创建一个。
否则,请参阅 Apple 关于配置文件的文档了解详细信息。
I