使用Core Bluetooth在后台获取蓝牙LE外围设备广告

时间:2012-12-29 18:02:37

标签: iphone objective-c ios bluetooth bluetooth-lowenergy

在我的应用在后台运行时,我无法弄清楚如何接收蓝牙LE外围设备广告。也就是说,当我的应用程序在后台时,它永远不会到达didDiscoverPeripheral()方法 - 广告所在的位置..有没有人知道我需要如何配置我的应用程序,这样我可以获得蓝牙LE广告,而我的应用程序在背景?当我的应用程序在后台时,可以通过线程轮询来完成吗?注意:我想从所有BLE设备获取广告,而不是定义数量的BLE设备。

感谢帮助,

凯西

1 个答案:

答案 0 :(得分:8)

我是从我的应用程序执行此操作。

在后台模式下,据称CoreBluetooth的速度比外围设备的广告间隔慢55倍。为了加快速度,我将外围设备编程为前30秒每20ms做一次广告。

此外,您必须在项目目标中定义“需要后台模式”和“使用CoreBluetooth进行App通信” - >信息。

应用程序需要一段时间才能在后台模式中查找外围设备。