要求
在开始之前,请确保您具备以下条件:- 一个 iOS 移动应用。
- 具有管理员访问权限的付费 Apple Developer 账户。
- 一个 OneSignal 账户。
- 安装了 Xcode 14+ 的 Mac。
- 启用了推送通知功能的 Xcode 项目。
步骤
在 Apple Developer 账户中生成您的 .p8 密钥
- 登录您的 Apple Developer 账户。
- 转到证书、标识符和配置文件 > 密钥。
- 点击蓝色加号 (+) 图标。
- 如果您看不到它,请联系您的管理员获取访问权限。

- 选择 Apple 推送通知服务 (APNs)。
- 配置密钥时,确保选中沙盒和生产:

- 输入密钥名称并点击继续,然后点击注册。

- 下载您的 .p8 密钥并安全存储。您将无法再次下载它。
如果您需要创建新的 .p8 而已经有两个,您必须先撤销现有密钥中的一个——它将不再可用。
将 .p8 密钥上传到 OneSignal
- 在您的 OneSignal 控制台中导航到设置 > 推送和应用内 > Apple iOS (APNs) 设置。

OneSignal 控制台推送配置页面。
- 选择 **.p8 认证密钥(推荐)**作为身份验证方法。

如果从 p12 或另一个 p8 更新,您将有“更新身份验证”的选项
.p8 文件
– 您从 Apple Developer 帐户下载的私钥文件。密钥 ID
– 位于您 Apple Developer 帐户的 密钥部分。确保它与下载的 .p8 文件匹配。团队 ID
– 在您的 Apple Developer 帐户 右上角找到。应用包 ID
– 您可以在此处找到:- 在 标识符部分,或
- 在 Xcode > 主应用目标 > 签名和功能

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

在 Xcode 中查找您的包 ID
您已成功在 OneSignal 中设置了使用 .p8 密钥的 APNs 身份验证。您的 iOS 应用现在已准备好发送和接收推送通知!🎉
.p8 故障排除
分步检查清单:1
检查 .p8 文件格式
-
在文本编辑器中打开
.p8
文件。 -
它应该看起来像这样:
2
确保您没有错误上传 .p12 文件
.p8
密钥来自您 Apple Developer 帐户的 密钥 部分。.p12
证书来自 证书 部分。这些与 .p8 身份验证不兼容。
3
确认您拥有正确的密钥 ID
- 转到您的 Apple Developer > 密钥部分。
- 将您在 OneSignal 中输入的密钥 ID 与下载的
.p8
密钥列出的 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 中,您应该能够选择自动管理签名来自动创建一个。