OGeek|极客世界-中国程序员成长平台

标题: ios - didDisconnectPeripheral 未调用 iOS Swift 3 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 12:47
标题: ios - didDisconnectPeripheral 未调用 iOS Swift 3

我正在尝试断开与 BLE 设备的连接。我正在执行 cancelPeripheralConnection() 并且它从不调用 didDisconnectPeripheral()。 我将通知值设置为一个特征,因此在断开连接时我将其设置为 false。

{

BLEOperations.sharedInstance.connectedDevice?.setNotifyValue(false, for: BLEOperations.sharedInstance.peripheralCharacteristics[0])

BLEOperations.sharedInstance.manager.cancelPeripheralConnection(BLEOperations.sharedInstance.connectedDevice!)

}

当用户尝试连接到新设备时,我正在尝试断开 connectedPeripheral。当前设备未断开连接,但新设备与旧设备连接。

{

BLEOperations.sharedInstance.manager.connect(self.peripheralArray[indexPath.row] as! CBPeripheral , options: nil)

}

我在这里做错了什么?当设备连接丢失时,将调用该方法。



Best Answer-推荐答案


当 CentralManager 在整个流程中只有一个实例时,它会正常工作。

您可以创建一个 CentralManager 操作类(它是单例)并执行操作,而不是在 viewcontroller 中使用 centralmanagerdelegates。

我做到了,效果很好。

关于ios - didDisconnectPeripheral 未调用 iOS Swift 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41889964/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4