APNS测试与部署

APNS即Apple Push Notification Service,中文翻译为苹果推送通知服务。特点是稳定、方便,不足是没有送达结果的统计,所以衍生了针对此服务的第三方推送。比如极光推送、leancloud等,很大程度上减少了服务端的开发量。本文主要介绍APNS的开发调试及部署上线的流程。客户端准备工作如下:

创建Certificates

进入苹果开发者中心,打开App IDs,找到Xcode工程对应的Bundle ID,即可看到Push Notifications选项开发与生产配置分别为Configurable,点击Edit,进入下一步Create Certificate,如下图所示。

APNS测试与部署_第1张图片
APNS测试与部署_第2张图片

生成Cer文件的过程中需要本地生成一个.certSigningRequest文件上传

APNS测试与部署_第3张图片

如何生成 Certificate Signing Request

打开mac系统中的Keychain,在证书助理中选择从证书颁发机构请求证书,填写邮箱保存本地即可。如下图:

APNS测试与部署_第4张图片
APNS测试与部署_第5张图片

生成CSR文件后上传,即可生成Developerment版的cer证书,下载证书到本地,双击安装到钥匙串中,然后打开钥匙串找到刚在安装的cer证书,点击导出,选择个人信息交换(.p12)格式。

APNS测试与部署_第6张图片

完成上述操作后,打开终端,进入p12文件所在文件夹,执行以下命令,生成服务端push所用的pem证书就可以了。

openssl pkcs12 -in XXX.p12 -out XXX.pem -nodes

查看证书有效期:

openssl x509 -in xxx.pem -noout -dates

返回结果:

notBefore=Nov  6 07:55:33 2015 GMT
notAfter=Nov  5 07:55:33 2016 GMT

连接APNS测试证书是否合法:

// Development 环境
openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert xxx.pem -key xxx.pem 
// Distribution 环境
openssl s_client -connect gateway.push.apple.com:2195 -cert xxx.pem -key xxx.pem

合法返回结果:

Protocol  : TLSv1
Cipher    : AES256-SHA
Session-ID:
Session-ID-ctx:
Master-Key: 30AF233C50CBEB51B7358BA47E6B4D556CC962BC288F6D51E68300D86400F927925077B5B90C4938B189146E0A4897B2
Key-Arg   : None
Start Time: 1446972326
Timeout   : 300 (sec)
Verify return code: 0 (ok)

如何测试

Developer环境下的测试推荐一个mac上的app,Cocoa-APNS-Test,部署简单方便。Production环境下的测试则需要Adhoc证书的支持了,具体操作请参考这里。

你可能感兴趣的:(APNS测试与部署)