我正在开发一款具有实时功能的iPhone(以及后来的Android)应用,即当一个用户发布其他人会看到的内容时(取决于他们在应用中的位置)。
在iOS中实现此功能时,必须牢记网络活动占用大量电池电量。
iOS App Programming Guide表示“仅在需要时连接到外部网络服务器,不要轮询这些服务器。”
应用程序如何才能获得接近实时更新的信息?
答案 0 :(得分:3)
对于前台应用程序,打开读取套接字,并为可用数据设置异步委托回调。除非您准备好发送新帖子,否则不要向这些套接字发送任何数据。
答案 1 :(得分:2)
您应该使用推送通知服务
这样,您的应用程序就可以充当侦听器,并且可以对带有服务器接收的自定义Payload数据的新Notifications做出反应。即使它在后台运行或根本没有运行。
答案 2 :(得分:1)
请查看Apple Push Notification Service,如WhatsApp等热门应用程序(也是聊天应用程序)所知。
来自文档:
当应用程序的新数据到达时,提供者准备和 通过通道向APN发送通知,推送通知 通知目标设备。
答案 3 :(得分:0)
您还可以考虑使用XMPP。查看iOS的https://github.com/robbiehanson/XMPPFramework。