CoreBluetooth - didDiscoverPeripheral在背景模式下没有调用没有LightBlue

问题描述:

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

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

项目具有正确的背景设置,因为didDiscoverPeripheral推出LightBlue后的工作背景。

我已经找出问题所在。

蓝牙设备有两种类型的广告,一种是没有服务的uuid。在后台iOS跳过没有服务uuid​​的广告。我已经更改了设备内的所有广告数据包,以便提供服务uuid​​,现在一切正在进行。