我试图在后台扫描BLE设备,但是我的didDiscoverPeripheral方法没有被调用。我已经等了5分钟了,什么也没有发生,但是当我打开其他蓝牙应用程序,比如"LightBlue“,我的didDiscoverPeripheral就会立即被调用。每次都会发生这种情况。在不运行LightBlue的情况下,我如何才能使其工作?
这是我的扫描代码:central.scanForPeripherals(withServices: [cbuuid], options: nil)
项目具有正确的后台设置,因为在启动LightBlue之后,didDiscoverPeripheral在后台工作。
发布于 2017-04-27 16:19:48
我已经知道问题出在哪里了。
蓝牙设备有两种类型的通告,一种是没有服务uuid的。在后台,iOS跳过没有服务uuid的广告。我已经更改了设备内的所有通告数据包,使其具有服务uuid,现在一切正常。
https://stackoverflow.com/questions/43552595
复制相似问题