远程推送通知的原理

长连接

  • 所有苹果设备在联网的状态下,都会建立与苹果服务器的长连接
  • 什么是连接?
    • 只要联网了一直建立的连接
  • 长连接的作用
    • 时间校准
    • 系统升级
    • 查找我iPhone
    • 远程推送通知
    • ....
  • 长连接的好处
    • 无需用户请求,服务端就可以把内容推送到客户端(Mac,IPhone,iPad)
    • 数据传输速度快
    • 数据保持最新的状态

实现远程推送通知的过程

  • 真机
  • 证书
    • 开发阶段
      • aps_development.cer 让某个电脑具备调试远程推送通知的能力
      • ios_development.cer 让某个电脑具有真机调试的能力
      • dev_qq.mobileprovision 让某个电脑上可以在某个真机上调试某个App的远程推送服务
    • 发布阶段
      • aps_production.cer 让电脑具备发布某个具有远程推送服务的App的能力
      • ios_distribution.cer 让电脑具备发布程序的能力
      • dis_qq.mobileprovision 让某台电脑具备发布某App的能力
  • 从APNs服务器上获取deviceToken

  • 把deviceToken发送给Provider(比如QQ服务器)
  • Provider使用推送证书(开发阶段就是开发推送证书,发布阶段就是发布推送证书)与APNs服务器建立连接,然后把deviceToken和需要 推送内容发送给APNs,APNs根据deviceToken把内容推送给该deviceToken对应的设备上

Xcode7 开始支持真机调试,但是只支持一般的调试不支持包含特殊服务的调试如远程推送和内购的调试.

原文地址:https://www.cnblogs.com/YRFios/p/5530087.html