美文网首页iOS APNs
APNS测试与部署

APNS测试与部署

作者: pandora的技术博客 | 来源:发表于2016-04-12 19:25 被阅读478次

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

    创建Certificates

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

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

    如何生成 Certificate Signing Request

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

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

    完成上述操作后,打开终端,进入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测试与部署

        本文链接:https://www.haomeiwen.com/subject/mgrwlttx.html