最近做一个需要推送的IOS项目,想起以前第一次做推送配置的时候参考其他人网上写得特别复杂,所以决定自己写一个给简单易用的版本。
本来嘛,IOS推送的配置也不是特别复杂的事情,第一次做的时候容易不知所措。其实熟悉后就是几分钟的事情。
按照这个步骤来,99.9%会成功。。。。如若失败,请参考其他教程。。。。
好了,扯了那么多废话,直接上菜。
考虑到苹果有可能开发者账户界面和系统,请大家实际操作时举一反三。
写文时间:2017.9.8
系统:macOS Sierra 10.12
由于我使用的是日文系统,所以菜单栏是日文,大家看图说话啊。
1. 打开key chain这个程序(mac自带的,别告诉我你不知道!),选择图示菜单栏项目,创建一个新的证书。
2. 填写邮箱,通称(中文系统不知道是怎么写,大家记得填一个方便识别的名字,便于识别对应app),然后选择保存在磁盘。填完之后点击继续并保存(默认文件名字:CertificateSigningRequest.certSigningRequest)。
3. 进入苹果开发者页面,登陆你的账户。选择图示的certificates,然后点击“+”按钮。
4. 选择图示选项(开发用就选择Development, 发布版就选择Production),然后点击继续按钮。
5. 选择你要配置推送功能的App ID,点击继续。
6. 这个页面教你怎么创建证书文件(参考步骤1&2)。
7. 选择你创建好的证书文件,然后点击继续。
8. 创建成功后点击download下载文件(默认名为aps_development.cer)。
9. 双击下载好的推送文件,添加成功后然后key chain内“我的证书”中会显示出来。点击对应证书左边的箭头可以展开项目,并显示出钥匙串标志。
10. 邮件点击钥匙串,选择导出文件。
11. 输入文件名后点击保存后会让你输入密码。选一个方便记忆的随便输入。我用的1234,文件名为key。点击OK按钮后,生成key.p12文件。
12. 打开command,进入到你保存key.p12和aps_development.cer的文件夹。按顺序输入以下命令(参考下图)。
1)通过aps_development.cer生成PushNotifCert.pem文件
openssl x509 -in aps_development.cer -inform der -out PushNotifCert.pem
2)通过key.p12文件生成PushNotifCert.pem对应的PushNotifKey.pem文件(这里会让你输入密码两次,然后再让你添加新生成文件PushNotifKey.pem的密码)
openssl pkcs12 -nocerts -out PushNotifKey.pem -in key.p12
3)取消PushNotifKey.pem的密码(输入以下命令确认和需要你输入PushNotifKey.pem的密码,前面步骤中最后输入的那个)
openssl rsa -in PushNotifKey.pem -out PushNotifNokey.pem
4)合成服务器用的pem文件
cat PushNotifCert.pem PushNotifNoKey.pem > dev_push.pem
最后得到的这个dev_push.pem文件就是你需要的东西啦!
备注:测试证书是否可用地址
正式版
openssl s_client -connect gateway.push.apple.com:2195 -cert PushNotifCert.pem -key PushNotifNoKey.pem
测试版
openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert PushNotifCert.pem -key PushNotifNoKey.pem