主要说一下iOS的远程推送 主要看下面两张图服务器
Probider是你的服务器 APNs是苹果推送的服务器 Apple Notifiction Service iPhone 是你的手机终端 Client App 是你的应用程序app
过程分为三个过程ide
更详细一点的图ui
这个图更为详尽的讲述整个过程3d
其中最关键的是第三步 应用程序能够直接把 deviceToken 发送给 YourServer,可是在iOS9 以后 deviceToken 是会发生变化的, 当你卸载程序从新安装的时候 可能会受到重复的推送,此时 能够经过 uuid + keyChain + deviceToken的方法,传给 YourServer, 让 YourServer 根据 uuid来更新 deviceToken 来保证惟一性,经过 keyChain 保存uuid ,让应用程序 卸载的时候仍能够 保留 UUID,保证惟一性。 然而 在iOS 10 以后 卸载应用 会清空 keyChain 参考连接 forums.developer.apple.com/thread/7227…cdn
此时 有什么办法呢?blog