匿名用户

1级

2016-08-03 回答

方法/步骤

在developer.apple.com的member center设置AppId属性,

enable push.

在developer.apple.com的member center创建APN证书,

Development -> Apple Push Notification service SSL (Sandbox) 用于沙盒app

Production -> Apple Push Notification service SSL 用于AppStore app

创建完毕后,可以第一步AppId的属性列表中查看到证书名称

基于第1步修改的AppID重新生成provision file,

在iOS Project中加载此provision file,

这样编译出的app才可以获取到device token(推送唯一标识符)

以下为针对服务端的推送设置步骤--------

在keychain中找到第1步创建的APN证书,

展开此证书,分别导出证书和密钥,

名称设为cer.p12和key.p12

打开控制台程序,

使用openssl 将cer.p12及key.p12转成cer.pem和key.pem

命令如下:

$ openssl pkcs12 -clcerts -nokeys -out cer.pem -in cer.p12

$ openssl pkcs12 -nocerts -out key.pem -in key.p12

测试生成的cer.pem及key.pem是否可用

$ openssl s_client -connect gateway.push.apple.com:2195 -cert cer.pem -key key.pem

注:gateway.push.apple.com:2195用于appStore app;

gateway.sandbox.push.apple.com:2195用于沙盒app;

以上命令执行后会打印一大罗信息,最后处于可输入状态,打几个字符回车后自动断开连接即为正常。

合并cer.pem及key.pem

$ cat cer.pem key.pem > ck.pem

上传ck.pem到推送服务器的推送程序的目录。

Tip:-----------------------

find / -name "*.php"

查询推送服务器php文件目录用。

scp ~/Desktop/ck.pem root@xx.xx.xx.xx:/var/www/html

用于上传本地文件到Linux服务器用。

9

服务器php代码加载ck.pem向苹果服务器推送消息:略

客户端oc代码获取token,接收推送消息:略

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐