Communicate with APNs using a TLS certificate
首先为了推送通知,我们需要允许进行推送,在Xcode中可以进行设置,一旦我们允许了推送通知,Xcode会自动为我们添加APNS的entitlement文件到我们的项目中。选中工程中的target,进入Capabilities,点击Push Notification部分。
允许通知之后,会自动添加entitlement
生成通用的APNS客户端TLS证书
登录Apple的开发者中心 https://developer.apple.com,选择进入Account,输入自己的开发者账号进行登录
然后选择Certificates, IDs & Profiles(证书,标识,配置文件)
进一步选择Certificates,点击All,然后添加按钮(+)
Certificates下面有4个部分,分别是All(所有的证书), Pending(未决定的证书),Development(开发证书),Production(生产证书)。如果进行测试可以选择开发环境,需要发布选择生产环境,推荐使用生产环境,因为生产环境证书适用于开发环境和生产环境(即发布环境)。
点击continue后选择对应的App ID,该app ID是一个确定的app ID匹配项目的bundle ID,所以在创建推送证书之前,如果没有创建过app ID,需要先创建app ID
点击continue,创建CSR文件
点击continue,需要上传一个CSR文件
为了上传CSR文件,现在创建一个
1)打开Launchpad -> 其他 -> 钥匙串访问 或者Finder -> 选择菜单栏的前往 -> 实用工具 -> 钥匙串访问
2)打开钥匙串后,选择顶部菜单栏的钥匙串访问 证书助理 从证书颁发机构请求
填写自己的邮箱,常用名称,并且选择保存到磁盘,点击继续,会生成一个CertificateSigningRequest.certSigningRequest,可以先存储到桌面用于上传。
点击continue,证书已经创建好,点击Download进行下载证书.然后双击文件,在去自己的钥匙串中找到证书和私钥
点击证书选择右键,进行导出然后保存为.p12文件,点击存储即可,这里要要求输入密码保护,可以选择不设置。现在你已经拥有了一个.p12格式的文件,该文件包含了和Apple的APNS服务器建立SSL/TLS安全通信的私钥。你可以把该.p12文件上传到你的推送服务器并配置使用了.
参考:
Communication with APNS using a TLS certificate