iOS开发之推送服务

2025-07-24 05:58:18

最近在研究iOS的推送问题,遇到了一些问题,最终整理了一下,放在这里和大家分享。

下载和安装推送证书

1、登录苹果开发者账号后,先进入“Member Center”,选择红框标注的“Certificates,Identifiers&Profiles“

iOS开发之推送服务

2、在打开“Certificates”页面后,选择红框标注的+按钮准备添加一个“Apple Push Notification service SSL“证书

iOS开发之推送服务

3、如果是用于开发和测试,你就选择”Apple Push Notification service SSL (Sandbox)";如果是用于发布,你就选择“Apple Push Notification service SSL (Production)"这两者之间是有很大区别的,开发版的APP和发布版的APP的Device Token是不同的

iOS开发之推送服务

4、选择一个能够使用推送SSL证书的应用ID,然后点击“Continue”继续,PS:千万别选错应用ID!

iOS开发之推送服务

5、创建一个证书签名请求文件

iOS开发之推送服务

6、点击“Choose File”按钮选择上一步骤创建好的证书签名请求文件,点击“Generate”生成证书

iOS开发之推送服务

7、点击“Download”下载新的证书文件

iOS开发之推送服务

8、双击上一步获得证书文件,就能将证书导入钥匙串中

iOS开发之推送服务
iOS开发之推送服务

生成和使用PEM文件

1、生成与APNs通信的开发者证书在终端,输入命令:openssl x509 -in aps_development.cer -inform der -out apns_cert_dev.pem

iOS开发之推送服务

2、从钥匙串中导出P12文件

iOS开发之推送服务
iOS开发之推送服务

3、生成与APNs通信的密钥证书在终端,输入命令:openssl pkcs12 -nocerts -out apns_key_dev.pem -in apns_dev.p12

iOS开发之推送服务

4、如果在生成密钥证书时输入了PEM密码,则在进程启动后第一次加载PEM文件时会要求输入该PEM密码,为了完成密码输入,只能手动启动。所以可以将该PEM密码从密钥证书中分离,以方便能够自动启动服务。在终端中输入命令:openssl rsa -in apns_key_dev.pem -out apns_key_dev_noenc.pem

iOS开发之推送服务

5、在上面的步骤我们生成了apns_key_dev.pem和apns_cert_dev.pem,我们也可以合并这两个pem文件:cat apns_cert_dev.pem apns_key_dev.pem > ck.pem

6、测试gateway.sandbox.push.apple.com的2195端口是否可用在终端,输入命令:telnet gateway.sandbox.push.apple.com 2195

iOS开发之推送服务

7、使用我们在上几个步骤中生成的证书和密钥来设置一个安全的连接openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert apns_cert_dev.pem -key apns_key_dev_noenc.pem

iOS开发之推送服务

8、输入任意字符串,回车后就能断开连接

iOS开发之推送服务

9、上述步骤是生成开发和测试用的PEM文件,生成发布用的PEM文件的方式一样。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢