【发布时间】:2011-08-15 23:17:49
【问题描述】:
一个 iPhone 应用程序,通过 TCP 连接到远程服务器。使用场景有:
- 应用(用户)向服务器发送数据,服务器回复数据。
- 服务器可能会在不执行任何操作的情况下向应用发送数据。
假设应用程序在 30 分钟内没有向服务器发送数据,服务器将关闭连接。即使用户什么都不做,我也想让连接保持 120 分钟。
案例 1:如果应用程序在前台,我可以使用计时器向服务器发送一些无操作数据。没问题。
案例 2:如果用户按下 Home 并且应用程序进入后台,我该怎么办?我不想显示警报或打断用户的东西(他不在或玩游戏)。我只是想让连接保持更长时间,当用户回到应用程序时,他发现连接仍然存在并且对此感到满意。
我已阅读有关 iphone API 的后台执行、多任务处理和本地通知的文档。 我不确定是否可以实现案例 2。
只使用合法的API,不越狱。
【问题讨论】:
-
这是一个非常古老的线程,但我只想提一下,所有建议伪装成 VoIP 应用程序的答案都不再可行,除非您愿意使用 Xcode 7 进行开发并且在未来几年内可能面临无法运行的情况。 forums.developer.apple.com/thread/49363
标签: iphone ios background