在iOS中检测到CBP外围对象状态从“已连接”更改为“已断开”

时间:2019-08-17 05:39:27

标签: ios bluetooth bluetooth-lowenergy core cbperipheral

在iOS中是否存在检测CBP外围对象状态从“已连接”到“已断开”的变化的任何原因。

1 个答案:

答案 0 :(得分:1)

要检测Core Bluetooth Peripheral对象是否断开连接,请使用centralManager(_:didDisconnectPeripheral:error:)实例方法,该方法告诉委托人中央管理器与外围设备断开连接:

     func centralManager(_ central: CBCentralManager, 
didDisconnectPeripheral peripheral: CBPeripheral, 
                             error: Error?) {

         print(peripheral.state)    // CBPeripheralState
     }

不要忘记设置一个delegate实例属性,该属性是为从CBPeripheralDelegate协议接收外围事件而指定的委托对象,该协议提供了有关外围设备服务使用的更新:

weak var delegate: CBPeripheralDelegate? { get set }

CBPeripheralState有以下三种情况:

enum CBPeripheralState : Int {

    case disconnected = 0
    case connecting = 1
    case connected = 2
}