如何知道是否在 iOS 中连接了蓝牙设备?

问题描述

了解蓝牙设备已连接方式的最佳方式是什么?我正在使用 CBCentralManager 来确定蓝牙是否已开启,但我无法确定如何确定蓝牙设备是否已连接。

我正在通过已连接的蓝牙设备实现 AVAudioSession 呼叫的路由,但由于我无法找到蓝牙设备是否已连接,AudioSession Category 更改被重复调用。如果有人尝试实施此行为,您的输入可能会有所帮助。请分享信息。

解决方法

我正在使用 CBPeripheral.state == .connected 检查 BLE 设备的状态。

来自文档:

/**
 *  @enum CBPeripheralState
 *
 *  @discussion Represents the current connection state of a CBPeripheral.
 *
 */
@available(iOS 7.0,*)
public enum CBPeripheralState : Int {

    
    case disconnected = 0

    case connecting = 1

    case connected = 2

    @available(iOS 9.0,*)
    case disconnecting = 3
}