iPhone应用程序后台网络通信

4

当用户将iPhone应用程序发送到后台时,是否可能保持应用程序监听端口的数据,并且如果有任何数据传入,则应用程序可以显示本地通知并提醒用户?我知道多任务处理受到限制,但它是否允许这样做?

2个回答

5

它可以做到,但有重大限制:

  • 首先,系统将注销您可能建立的任何Bonjour名称。
  • 其次,如果您绑定了WWAN,即使在前台监听它,它也会关闭(即使在前台也是如此)。
  • 第三,如果您的应用程序在后台没有执行其他操作(即未注册提供背景音乐、位置事件或电话服务),您仍必须在后台任务完成的时间限制内关闭或被终止。

因此,虽然您可以在后台绑定和监听套接字,但几乎所有实际目的都不值得这样做,您应该重新考虑设计。


2
这正是推送通知的作用。您的应用程序不会监听您的服务器,而是您的服务器告诉苹果有关任何通知,并将它们传递给用户和您的应用程序(如果用户想要它们)

是的,我知道,但这意味着要拥有自己的服务器。 - Jonathan.
我所说的网络是指一个本地网络,其中有一台计算机运行软件将数据发送到设备的IP地址(通过Bonjour找到)。 - Jonathan.
支持推送通知确实意味着需要拥有自己的服务器。这是有意设计的:你不能让应用程序轮询服务器或在后台监听连接。如果用户决定接收推送通知,你的应用程序可以在响应推送通知时启动。 - Chris Hanson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接