iOS推送(生成PHP服务器端的APNS推送证书,发送失败再也不用怀疑你的证书问题)

最新的服务器端生成iOS推送证书的方式,虽然有很多,但是笔者觉得很多都过时了,并不是很实用

笔者和后台调试推送,很多时候发送不成功,根本找不到什么原因,到底是你的证书有问题还是服务器发送的方法有问题?照着笔者的步骤生成的证书,如果服务器还是发送不成功,你绝对可以理直气壮说服务器端的问题,再也不用怀疑你的证书有问题了

一、生成App ID的方法笔者就不介绍了,方法很多

点击连接 https://developer.apple.com 登录,如果你没有生成App ID,你的需要先申请一个App ID,(不过开始做推送了,一般都已经生成App ID了)生成AppID也是很简单的,生成之后照如下步骤生成即可

二、 找到如下图,点击需要生成推送的ID

iOS推送(生成PHP服务器端的APNS推送证书,发送失败再也不用怀疑你的证书问题)_第1张图片

三 、点击Edit(笔者的推送已经开通,所有状态可能有不一样的,不要担心这个,继续步骤就好)

iOS推送(生成PHP服务器端的APNS推送证书,发送失败再也不用怀疑你的证书问题)_第2张图片

四、找到Push Notifications(笔者只讲解正式环境的生成,测试环境步骤一致,自己重复就好了)

第一步:点击正式环境的download,即下载了一个aps.cer的文件,找到并点击该aps.cer文件,之后会自动打开钥匙串并生成一个证书;

第二步:保存该aps.cer文件,后面用得到。

注: 在钥匙串(我的证书)中有一个Apple Push Services:你的bundleID的一个证书(如果是测试证书,前面有一个Development的字样)

iOS推送(生成PHP服务器端的APNS推送证书,发送失败再也不用怀疑你的证书问题)_第3张图片


五、导出.cer生成的文件(导出默认生成.p12文件)

第一步:右击证书(Apple Push Services:你的bundleID的一个证书,测试的带有Development),选择导出该证书,


iOS推送(生成PHP服务器端的APNS推送证书,发送失败再也不用怀疑你的证书问题)_第4张图片

第二步:生成push.p12文件,此刻需要输入密码,牢记该密码,建议此过程所有密码均用一个,笔者用123456(最好设置一个难度大的密码)

iOS推送(生成PHP服务器端的APNS推送证书,发送失败再也不用怀疑你的证书问题)_第5张图片

第三步:桌面即生成一个push.p12文件

六、生成.pem文件(一下步骤如果有需要输入密码的,输入1.4中用的密码123456密码即可)

打开终端,切换到桌面目录之下

第一步:使用四中保存的aps.cer文件生成push_production_cer.pem文件

终端执行:   openssl x509 -in aps.cer -inform der -out push_production_cer.pem

第二步:使用五中生成的push.p12生成push_production_key.pem文件

终端执行: openssl pkcs12 -nocerts -out push_production_key.pem -in push.p12

七、合成pem文件

使用六中生成的两个.pem文件合成push_production.pem文件

终端执行:cat push_production_cer.pem push_production_key.pem > push_production.pem

则在桌面生成了一个push_production.pem文件

你可能感兴趣的:(iOS推送(生成PHP服务器端的APNS推送证书,发送失败再也不用怀疑你的证书问题))