要求
开始之前,请确保您具备以下条件:- 一个 iOS 或 macOS 应用。
- 具有管理员访问权限的付费 Apple Developer 账户。
- 一个 OneSignal 账户。
- 安装了 Xcode 14+ 的 Mac。
- 在 Xcode 中为您的应用目标设置的 Bundle ID。
- 启用了推送通知功能的 Xcode 项目。
创建证书签名请求(CSR)
您首先需要在 macOS 上创建.certSigningRequest 文件。
- 打开应用程序 > 实用工具 > 钥匙串访问。
- 从菜单栏,点击钥匙串访问 > 证书助理 > 从证书颁发机构请求证书…

- 填写必需的字段:
- 用户电子邮件地址:
[email protected] - 通用名称:您的姓名或证书名称
- CA 电子邮件地址:留空
- 请求是:选择存储到磁盘
- 用户电子邮件地址:

- 点击继续,选择保存
.certSigningRequest文件的位置,然后点击保存。
为应用 ID 启用推送功能
如果您在 Xcode 中使用自动管理签名,请跳过此部分。
- 转到 Apple Developer 门户的标识符部分,从列表中找到并选择您的应用的 App ID。

- 通过勾选复选框启用推送通知功能。

创建推送证书
按照以下步骤生成 Apple 推送通知服务 (APNs) SSL 证书:- 访问 Apple 证书页面。
- 点击加号 (+) 按钮创建新证书。
-
在服务下,选择:
- Apple 推送通知服务 SSL(沙盒和生产)
- 然后点击继续

- 从列表中选择您的应用 ID,然后点击继续。

- 上传您之前生成的
.certSigningRequest文件。

- 点击继续,然后点击下载将生成的
.cer文件保存到您的电脑。

.cer 文件在下一部分创建您的 .p12 证书。
创建私钥并导出 .p12 证书
-
双击下载的
.cer文件将其导入钥匙串访问。 -
在钥匙串访问中,导航到:
- 钥匙串 > 登录
- 类别 > 我的证书
- 找到名为Apple Push Services的证书。
- 右键点击证书并选择导出。

-
选择保存文件的位置,并选择文件格式为
.p12。 -
出现提示时,为
.p12文件设置密码。上传到 OneSignal 时需要此密码。

将 .p12 上传到 OneSignal
- 在您的 OneSignal 控制台中,转到您的应用 > 设置 > 推送和应用内 > Apple iOS。
- 上传
.p12文件(如果您设置了密码,请输入密码)。点击保存。
您已成功在 OneSignal 中设置了使用 .p12 证书的 APNs 身份验证。您的 iOS 应用现在已准备好发送和接收推送通知!🎉
.p12 故障排除
证书格式无效错误
原因: 上传的文件不是.p12 格式。
解决方法: 确保从钥匙串访问导出证书为 .p12(不是 .cer 或 .pem)。
上传到 OneSignal 时出现”密码不正确”
原因: 密码输入错误或未设置。 解决方法:- 尝试重新导出并设置新密码。
- 确保粘贴时没有添加额外的空格。
- 如果使用 Provisionator,密码显示在 UI 中。
导出文件中缺少私钥
原因: 证书已导入但未与私钥配对。 解决方法:- 确保在同一台机器上从钥匙串访问生成 CSR。
- 下载
.cer文件后,双击安装并检查密钥是否出现在我的证书下。
上传后推送通知无法工作
原因: 应用 ID 不正确,或配置文件缺少功能。 解决方法:- 确认
.p12与应用中使用的应用 ID 匹配。 - 在 Apple Developer 门户中,确保应用 ID 已启用推送通知。
- 确保配置文件包含推送。
证书过期
原因:.p12 证书不再有效。
解决方法:
- 转到 Apple Developer > 证书并检查到期时间。
- 撤销旧证书并创建新证书。
后续步骤
iOS SDK 设置
安装 OneSignal SDK,在您的应用中进行初始化,并发送测试通知。
移动端 SDK 设置
选择您的平台,按照适用于 Android、iOS 或跨平台框架的完整 SDK 集成指南进行操作。
常见问题
我的 .p12 证书何时过期?如何续期?
.p12 证书在创建后一年到期。要续期,请生成新的 CSR,在 Apple Developer 中创建新的推送证书,将其导出为 .p12,然后重新上传到您的 OneSignal 控制台。设置日历提醒以避免服务中断。或者,切换到 .p8 密钥,该密钥不会过期。我应该使用 .p8 还是 .p12?
OneSignal 建议大多数应用使用 .p8 密钥。.p8 密钥不会过期,适用于您 Apple Developer 账户下的所有应用,且管理更简单。.p12 证书是特定于应用的,必须每年续期。请参阅 .p8 密钥指南了解设置说明。我需要配置文件吗?如何创建?
是的,Apple 要求为开发、测试 (Ad Hoc) 和分发到 App Store 使用不同类型的配置文件。 在 Xcode 中,您应该能够选择自动管理签名来自动创建一个。