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

问题描述 投票:0回答:4

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

当我连接的设备超出范围时,我的应用程序将收到断开连接事件。

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

请建议任何检测设备何时返回范围的方法。

ios bluetooth-lowenergy
4个回答
0
投票

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

例如: while(isConnected==false)... 你说如果设备断开连接你会收到通知,所以你可以使用该事件来启动这样的方法


0
投票

当您收到断开连接事件时,只需重新启动扫描功能:

scanForPeripheralsWithServices
或者您可以通过
[_manager scanForPeripheralsWithServices:self.targetDeviceServiceIDs options:@{CBCentralManagerScanOptionAllowDuplicatesKey:@YES}]
设置扫描模式以接受重复按键。这意味着同一设备会被多次发现,直到您停止扫描。


0
投票

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


0
投票

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

BLE 设备断开连接时,将函数

[centralObj connectPeripheral:peripheral options:nil];
调用到
didDisconnectPeripheral
委托方法中。

© www.soinside.com 2019 - 2024. All rights reserved.