APNs

  今天主要讲讲我自己的使用经历,仅供大家参考。

       首先,APNs是啥,apple push notification server,说白了就是消息推送,当然这里讲的是远程推送通知,以后会讲讲iOS 的本地通知。

    接下来,我们开看看它的实现原理

      首先,APNS会对用户进行物理连接认证,和设备令牌认证(简言之就是苹果的服务器检查设备里的证书以确定其为苹果设备), 然后,将服务器的信息接收并且保存在APNS当中,APNS从其中注册的列表中查找该IOS设备(设备可以为iPhone、iPad、iPod Touch,版本是iOS3.0及以上)并将信息发送到该设备;

最后,设备接收到数据信息给相应的APP,并按照设定弹出Push信息。

      具体怎样一步步实现的,大家可以参考下面的文章,讲的比较详细xia m

    http://mmz06.blog.163.com/blog/static/121416962011111710934946/    

     http://wenku.baidu.com/view/c6b9ceef998fcc22bcd10da5.html

我就没有必要赘述了,在这里我想讲的是在这些实现过程中要注意的细节:

   1,首先你要确定在Apple dev protal中a相应的App id的命名要规范,不要包含通配符。

   2.在下载之前,要把push功能在configure里配置好,然后再下载这个文件。要记住把最后生成的.cer文件放到项目中进行替换

  3.如果在,wifi环境下无法进行push,有可能是iPhone与某些无线路由器不兼容,还有可能是无线路由器开启了DNS开启了转发功能,这就需要你关闭无线路由的DNS转发功能,然后手动调节iPhone的Wi-Fi设置为8.8.8.8。

  还有要注意的是,如果TLS链接正常,那么服务器就会始终保持链接,并且是实时的,不管是wifi或者是蜂窝数据的情况下。


你可能感兴趣的:(APNs)