ios推送

来源:互联网 发布:美工刀片哪个牌子最好 编辑:程序博客网 时间:2024/04/30 08:28
一步一步教你做ios推送
http://www.cocoachina.com/bbs/read.php?tid=136377&keyword=%CD%C6%CB%CD


IOS消息推送原理及实现总结
http://mmz06.blog.163.com/blog/static/121416962011111710934946/


http://zxs19861202.iteye.com/blog/1532460


导出的Push.p12和其他证书,都要对应开发的和发布的
5 真机测试
开发的时候一般我们都是用Xcode直接灌到设备里 这个时候development证书是可以推送成功的 但是production证书却推送不了
不过苹果给我们提供了Ad Hoc测试方式 它使用的是发布证书 如果你不知道Ad Hoc模式可以搜一下 很简单的
这里有一个关键的地方 development和production得到的Token的不一样的 
使用Ad Hoc方式装到设备上得到的就是production Token 所以你在用Ad Hoc方式测试的要使用production Token
如果使用Ad Hoc方式测试没问题 这个发布也就没问题了
使用AdHoc生成证书后,打包成ipa,装到手机上


推送制作证书
1.将aps_developer_identity.cer转换成pem
openssl x509 -in aps_developer_identity.cer -inform der -out PushChatCert.pem


2.将Apple Development Push Services证书(私钥Push.p12文件)转换成pem
openssl pkcs12 -nocerts -out PushChatKey.pem -in push.p12


3.合成两个pem证书
1)Java服务器所需的证书为p12格式
openssl pkcs12 -export -in PushChatCert.pem -inkey PushChatKey.pem
-out pushCert.p12 -name "apns-cert"
2)PHP服务器所需证书为pem格式
cat PushChatCert.pem PushChatKey.pem > pushCert.pem


合成2个pem证书需要输入PushChatKey.pem的密码,然后输入导出证书的密码(自定义,要记住,给服务器用的)
java:
php:


------------------------------------------------------------ 结束 -------------------------------------------------------------
方法一:
四、在应用服务器采用php的方式将消息推送给APNS,
1、php连接APNS也是需要证书的,还记得我们上面获得的几个证书吗?打开终端,对上面的证书做如下处理,
cd  进入证书所在目录
 
把.cer文件转换成.pem文件:
$ openssl x509 -in aps_developer_identity.cer -inform der
-out PushChatCert.pem
把私钥Push.p12文件转换成.pem文件:
$ openssl pkcs12 -nocerts -out PushChatKey.pem -in Push.p12
Enter Import Password:
MAC verified OK
Enter PEM pass phrase:
Verifying – Enter PEM pass phrase:
你首先需要为.p12文件输入passphrase密码短语,这样OpenSSL可以读它。然后你需要键入一个新的密码短语来加密PEM文件。还是使用”pushchat”来作为PEM的密码短语。你需要选择一些更安全的密码短语。
注意:如果你没有键入一个PEM passphrase,OpenSSL将不会返回一个错误信息,但是产生的.pem文件里面将不会含有私钥。
最后。把私钥和证书整合到一个.pem文件里:
$ cat PushChatCert.pem PushChatKey.pem > ck.pem
----------------------------------------------------------------------------------------------------------------------------------




方法二:
在Mac上生成 Apple推送通知SSL证书:
1. 登录到 iPhone Developer Connection Portal 并点击 App IDs
2. 创建一个不使用通配符的 App ID 。通配符 ID 不能用于推送通知服务。例如,我们的iPhone程序ID像这样:  AB123346CD.com.serverdensity.iphone
3. 点击App ID旁的“Configure”,然后按下按钮生产 推送通知许可证。根据“向导”指导的步骤生成一个签名并上传,最后下载生成的许可证。此步骤在 Apple文档中 也有谈到。
4. 通过双击.cer文件将你的 aps_developer_identity.cer 引入Keychain中。
5. 在Mac上启动 Keychain助手,然后在login keychain中选择 Certificates分类。你将看到一个可扩展选项“Apple Development Push Services”
6. 扩展此选项然后右击“Apple Development Push Services” > Export “Apple Development Push Services ID123”。保存为 apns-dev-cert.p12 文件。
7. 扩展“Apple Development Push Services” 对“Private Key”做同样操作,保存为 apns-dev-key.p12 文件。
8. 需要通过终端命令将这些文件转换为PEM格式: openssl pkcs12 -clcerts -nokeys -out apns-dev-cert.pem -in apns-dev-cert.p12
9. openssl pkcs12 -nocerts -out apns-dev-key.pem -in apns-dev-key.p12
10. 如果你想要移除密码,要么在导出/转换时不要设定或者执行: openssl rsa -in apns-dev-key.pem -out apns-dev-key-noenc.pem
11. 最后,你需要将键和许可文件合成为apns-dev.pem文件,此文件在连接到APNS时需要使用: cat apns-dev-cert.pem apns-dev-key-noenc.pem > apns-dev.pem


将此文件保存为一个易记的名字,你有可能以后会用到它。上述步骤同样适合于生成产品证书。
方法二截图:
分别导出
注意Apple Production IOS Push Services: com.news.GZNews是发布的推送证书
发布的时候不要使用Development开发的证书
0 0