如何通知iOS应用程序需要更新其内容?
我希望有一个应用程序可以侦听触发下载的更新警报,而不是执行数据请求以便能够与服务器保持同步。
让一个需要与服务器同步的iOS应用保持同步,同时最大限度地减少网络活动的正确方法是什么?
我知道在本地使用缓存,NSURL缓存或核心数据等并且遵守http标头中的超时等但我想正确设置同步机制而没有用户需要按下的更新按钮获得更新。
我曾想过在socket上实现dispatch_source,但是不会让网络保持活动状态并耗尽电池电量?
我不想请求令牌以便从服务器同步数据版本,而是希望服务器通知设备它需要更新。这有用吗?
操作系统如何处理监听推送通知?它是否在POSIX级别上?
答案 0 :(得分:1)
据我所知,有两种常见的方法可以在iOS上执行此操作;
在工作中,我们通常会实施这两个选项,因为APNS存在一些问题;
答案 1 :(得分:1)
你真的有两个选择:
客户端轮询:呼叫服务器并经常询问。对于99%的应用程序来说,这很好,因为在轮询之间的间隔期间,某人运行旧版本并不是什么大不了的事。
实时服务器推送:如果出于某种原因需要在推送新版本时立即禁用旧版本,则可以执行服务器端推送。你不想要使用APNS(用户可能拒绝APNS,交付不保证等)。您可能希望使用像PubNub或Pusher这样的廉价推送服务来保证实时交付。或者使用这些服务的相同原则编码您自己的版本,但真的为什么要重新发明轮子?