IOS BLE scanForPeripheralsWithServices:options:on Background

时间:2014-11-05 08:54:02

标签: ios objective-c c

CentralManager不会在后台扫描BLE设备....

我已经在info.plist中设置了UIBackgroundModesbluetooth-central

还尝试输入UUID这样的服务..

[CentralManager scanForPeripheralsWithServices:@[[CBUUID UUIDWithString:@"0xFFA0"]] options:nil];

(0xFFA0是服务的UUID。)

还为设备尝试了"C337FA9-4DCF-****-77AB-************"; UUID。 无论我把UUID放在服务中。在背景上找不到任何设备。

当前景.. scanForPeripheralsWithServices:nil找到所有设备时。 但不是scanForPeripheralsWithServices:someuuids

任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

1.如果你使用

scanForPeripheralsWithServices:someuuids

必须有一些设备通过这个uuids通告蓝牙数据包。这可以在前景和后台运行良好

2如果您使用

scanForPeripheralsWithServices:nil

您可以获得所需的所有设备,但在后台无法使用。

因此,如果您想在后台获得结果,则必须设置外围设备使用UUID通告BLE数据包。