我正在使用 iOS 开发 BLE 设备。当我在 Range 中搜索蓝牙设备列表然后与它们建立连接时,这些设备工作正常。
在这两者之间,有时设备由于某些范围或其他原因而断开连接。现在我想收到一些通知,向用户显示设备已断开连接的消息,以便他/她可以再次连接。
是否有任何委托方法可用于检查连接或断开连接或我们如何实现这一点。请指导我任何帮助表示赞赏。
我正在使用 iOS 开发 BLE 设备。当我在 Range 中搜索蓝牙设备列表然后与它们建立连接时,这些设备工作正常。
在这两者之间,有时设备由于某些范围或其他原因而断开连接。现在我想收到一些通知,向用户显示设备已断开连接的消息,以便他/她可以再次连接。
是否有任何委托方法可用于检查连接或断开连接或我们如何实现这一点。请指导我任何帮助表示赞赏。
CBCentralManagerDelegate 的方法是正确的。
- (void)centralManager:(CBCentralManager *)central didDisconnectPeripheral:(CBPeripheral *)peripheral error:(NSError *)error
当与外围设备的现有连接断开时调用。
但是要在您的应用程序处于后台时接收此通知,请确保您打开了正确的后台模式 - “使用蓝牙 LE 附件”(蓝牙中央)。
要打开背景模式,请选择您的目标 -> 打开“功能”选项卡 -> 打开“背景模式”。
CBCentralManagerDelegate
有一个方法叫做
– centralManager:didDisconnectPeripheral:error:
当与外围设备的现有连接被拆除时调用。我不知道 Apple 将什么定义为“拆除”,并且由于范围问题而失去连接并不一定会像您期望的那样调用此方法。试试看,让我知道结果如何。