在iOS应用程序中自动连接到BLE设备

1tu0hz3e  于 2023-05-30  发布在  iOS
关注(0)|答案(4)|浏览(301)

我正在编写一个iOS应用程序,它将与使用蓝牙低功耗(BLE)的设备通信。
当我的连接设备超出范围时,我的应用程序正在收到断开连接事件。
但是当设备回到范围时,我没有得到任何连接事件。
请建议任何检测设备何时返回范围的方法。

rn0zuynd

rn0zuynd1#

当你得到的事件,该设备是不可达的了,你可以启动一个方法,不断地检查,如果该设备仍然是不可达的。
例如:while(isConnected==false)...您说如果设备断开连接,您会收到一个通知,因此您可以使用该事件来启动这样的方法

n3ipq98p

n3ipq98p2#

当您收到断开连接事件时,只需重新启动扫描功能:scanForPeripheralsWithServices或您可以设置扫描模式接受重复密钥[_manager scanForPeripheralsWithServices:self.targetDeviceServiceIDs options:@{CBCentralManagerScanOptionAllowDuplicatesKey:@YES}]。这意味着相同的设备会被发现很多次,直到你停止扫描。

6fe3ivhb

6fe3ivhb3#

如果连接超时,只需使用断开方法重新连接即可。不需要开始扫描。它将自动尝试重新连接,直到它进入范围。

vltsax25

vltsax254#

当您的设备断开连接或后藤蓝牙范围之外时,您不需要扫描外围设备,因为它已经扫描了BLE设备。
BLE设备断开时,将函数[centralObj connectPeripheral:peripheral options:nil];调用到didDisconnectPeripheral委托方法中。

相关问题