iOS开发之推送服务

2025-11-02 01:42:24

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开发之推送服务

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。
猜你喜欢