【发布时间】:2011-09-11 09:25:52
【问题描述】:
是否可以在后台保持套接字连接处于活动状态,以便能够随时推送新数据并提醒用户?
【问题讨论】:
标签: iphone objective-c ios
是否可以在后台保持套接字连接处于活动状态,以便能够随时推送新数据并提醒用户?
【问题讨论】:
标签: iphone objective-c ios
这个问题的答案是肯定的。如果您处于 background 状态,那么您可以保持连接打开并处理来自服务器的消息。
不幸的是,这里的复杂性在于您对应用程序所处的状态没有太多控制权:
所以很明显这里的诀窍是我如何尽可能长时间地保持在 background 状态。有几种方法可以做到这一点:
因此,这些方法并非没有自己的问题(在商店中获得批准就是其中之一),因此我倾向于同意其他答案,即使用 push notifications 可能是通知用户的最佳方法。有了notification improvements in iOS5,这将是未来最好的用户体验。
【讨论】:
在应用关闭后,您可以在后台保持套接字连接(或执行任何其他操作)约 15 分钟。如果您的应用符合其支持的类别之一,Apple 还支持更专业的后台处理模式(特别是音频、voip 和位置)。见here。
如果您想无限期地继续发送用户通知,您想使用Apple Push Notification Service。这允许您的应用在未运行时继续接收通知,并且由于一次只有一个与 APN 服务的连接,因此可以节省资源。
【讨论】:
您绝对可以通过本地和推送通知提醒用户。 据我所知,您只能在有限的时间内保持连接打开。
查看here了解更多详情。
【讨论】: