我正在尝试构建一个应用程序,该应用程序将使用iPhone上的游戏工具包点对点连接,以便找到您周围的其他人使用该应用程序并与他们交换信息。
我的问题是 - 当app在后台运行时以及iPhone处于睡眠状态时,是否可以使用点对点连接?如果是的话,我需要做一些特别的事吗?
此外,当应用程序在后台运行时/ iPhone处于睡眠模式时,我能否使用地理位置,本地通知和HTTP请求?
答案 0 :(得分:0)
iOS中的后台模式非常严格。
当您的应用程序移至后台时,操作系统授予“有限长度时间”以使您正确完成工作(完成下载,保存文件,关闭某些连接等)。在那之后,你可以不做任何期望iOS的一些长期任务。 iOS允许您运行的唯一长任务是:
(Source)
因此,如果您通过蓝牙使用点对点连接,您可以(理论上)在后台模式下执行此操作。地理位置也是如此。
但是,如果您想使用本地通知,则需要在移动到后台之前注册它们,并且对于HTTP请求也是如此。 有关详细信息,请查看此文档:App States and Multitasking。