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

时间:2016-05-20 13:04:00

标签: ios bluetooth-lowenergy

我正在编写一个iOS应用程序,它将使用蓝牙低功耗(BLE)与设备进行通信。

当我的连接设备超出范围时,我的应用程序正在进行断开事件。

但是当设备返回范围时,我没有收到任何连接事件。

请建议任何方法来检测设备何时回到该范围。

4 个答案:

答案 0 :(得分:0)

当您收到设备无法再访问的事件时,您可以启动一个持续检查设备是否仍然无法访问的方法。

例如:while(isConnected == false)... 您说如果设备断开连接,您会收到通知,因此您可以使用该事件启动此类方法

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

答案 3 :(得分:0)

当您的设备断开连接或转出蓝牙范围时,您无需扫描外围设备,因为它已经扫描了BLE设备。

当BLE设备断开连接时,将函数[centralObj connectPeripheral:peripheral options:nil];调用到didDisconnectPeripheral委托方法。