CoreBluetooth - 在没有LightBlue的情况下不调用后台模式的didDiscoverPeripheral

时间:2017-04-21 21:56:58

标签: ios swift bluetooth-lowenergy core-bluetooth

我正在尝试在后台扫描BLE设备,但我的didDiscoverPeripheral方法没有被调用。我一直在等待5分钟但没有发生任何事情但是当我打开其他蓝牙应用程序如“LightBlue”时,我的didDiscoverPeripheral立即被调用。每次都会发生这种情况如何在不运行LightBlue的情况下完成这项工作?

这是我的扫描代码: central.scanForPeripherals(withServices: [cbuuid], options: nil)

项目具有正确的背景设置,因为在启动LightBlue后,didDiscoverPeripheral正在后台工作。

1 个答案:

答案 0 :(得分:0)

我已经找到问题所在。

蓝牙设备有两种类型的广告,一种是没有服务的uuid。在后台iOS浏览没有服务uuid​​的广告。我已经更改了设备内的所有广告包以获得服务uuid​​,现在一切正常。