蓝牙可以与iOS Multitasking一起使用吗?

时间:2011-04-27 16:12:14

标签: iphone objective-c ios bluetooth

我认为这个问题的答案是否定的,但有人知道是否可以在iOS后台维护蓝牙连接?我想我可能能够使用有限任务背景API保留它,但我没有发现任何指示是否真的。另一种选择是使用GPS通知,并在每次应用获得位置更改通知时重新连接。

4 个答案:

答案 0 :(得分:0)

你是对的。这是一个NO。 但是,如果您使用位置更改通知来唤醒您的应用,则可能需要很短的时间才能使用蓝牙。

答案 1 :(得分:0)

我认为应该维护蓝牙连接,但是如果您的蓝牙应用程序不是前台应用程序,它将不会接收任何数据/命令,当它变为前景时它将会。

答案 2 :(得分:0)

有可能,我使用这个技巧允许应用程序使用iBeacons的前台API,即使应用程序在后台也允许应用程序范围。

对于iBeacons的范围,它使用高功率API,因此限制为仅在应用程序位于前台时运行,并在应用程序进入后台时停止调用所有代理。

通过播放静音音频文件并将AirPlay功能添加到您的plist,它允许您的应用程序在后台运行,就像它在前台一样。

我不确定它是否适用于您的情况但是由于iBeacons确实使用了核心蓝牙和核心位置框架,它可能只是按照您的要求进行操作。

http://yifan.lu/2013/12/17/unlimited-backgrounding-on-ios/

请注意,尽管Apple在iOS8 beta 5中没有修补此技巧,但它们可能会更新。

答案 3 :(得分:0)

如果您正在使用iBeacons,那么当您进入/退出信标区域时,会有内置的API用于处理,并且在应用程序进入睡眠状态之前,您通常需要大约5秒的时间来确定信标的范围。从理论上讲,你可以启动一个后台处理程序w / expiration处理程序,它可能允许你在后台运行时保持约30秒,但我还没有验证是这种情况。我知道后台任务可以在后台进入/退出正常CLRegions时启动,并且CLRegions和CLBeaconRegions在区域监控方面在功能上没有区别,所以如果我不得不猜我会说这是更多 - 很可能。