如何使用 iOS Core 蓝牙在 BLE 上完全断开连接

Posted

技术标签:

【中文标题】如何使用 iOS Core 蓝牙在 BLE 上完全断开连接【英文标题】:How to disconnect completely on BLE using iOS Core Bluetooth 【发布时间】:2018-03-30 09:12:29 【问题描述】:

使用 CBCentralManager.cancelPeripheralConnection(peripheral) 时,断开连接仅适用于应用程序级别。因此,如果不关闭并打开蓝牙,就无法再次连接到同一设备。

我知道有 CBCentralManager?.retrieveConnectedPeripherals(withServices: ) 功能,但我需要连接到完全相同的设备(基于 MAC 地址 [这是我从广告数据中获得的]),而不是连接到任何具有具体服务。

有什么方法可以完全断开连接?

【问题讨论】:

【参考方案1】:

您无需完全断开连接。

您可以在centralManager:didDisconnectPeripheral:error: 中调用connect(_:options:)。设备再次可见后将重新连接。

【讨论】:

以上是关于如何使用 iOS Core 蓝牙在 BLE 上完全断开连接的主要内容,如果未能解决你的问题,请参考以下文章

iOS Core蓝牙扫描率

如何在 iOS 上搜索和连接附近的经典蓝牙设备(非 BLE)?

iOS蓝牙BLE读取数据最大大小

iOS PKPKT BLE 概念

iOS BLE 蓝牙 8.1 及更低版本 BLE 订阅特征通知无响应

混合APP低功耗蓝牙项目解析数据可能用到的一些小方法---ble