如何检查消息是不是在后台与应用程序挂起
Posted
技术标签:
【中文标题】如何检查消息是不是在后台与应用程序挂起【英文标题】:How to check if message is pending with app in background如何检查消息是否在后台与应用程序挂起 【发布时间】:2013-10-08 21:22:21 【问题描述】:我正在构建一个非常简单的信使应用程序,只是为了让我对这种类型的应用程序感兴趣。我想出的一般想法是:客户端 1 键入消息,发送到客户端 2。消息发送到我的 tcp/http 服务器,然后将消息发送到客户端 2。但是我不确定最后一步是如何发生的。
服务器如何定位手机并将消息推送给它?应用程序是否应该每隔几秒检查一次是否有消息在等待?如果应用被暂停(后台),你会怎么做?
这是否符合 UIBackgroundModes 下的后台提取条件?
The app regularly downloads and processes small
amounts of content from the network.
【问题讨论】:
【参考方案1】:您可以使用苹果的 APN(苹果推送通知)进行远程推送通知。本质上,一旦服务器接收到 http/tcp 消息,它必须通过苹果的 apn 服务器向设备 2 发送推送通知。更多资讯here
【讨论】:
但这并不能保证消息会到达那里...而且我不确定您是否可以使用此数量的 APN。 whatsapp是怎么做到的? 是的,不能保证。但这是您可以将消息推送到客户端的唯一方法。从 ios 7 开始,还有一种更新的替代方案。该应用程序可以定期从网络下载和处理少量内容。启用 Background Modes 选项会将 UIBackgroundModes 键添加到应用程序的 Info.plist 文件中。更多here 重新阅读您编辑的问题。您可以这样做,也可以通过远程通知唤醒您的应用。我知道这不能保证,但这里有一个关于 apn reliability 的精彩帖子以上是关于如何检查消息是不是在后台与应用程序挂起的主要内容,如果未能解决你的问题,请参考以下文章