didDisconnectPeripheral自己调用
问题描述:
我有一个应用程序应该使用CoreBluetooth连接到不同的设备一次。 这里我的问题是意外断开连接发生。一旦我连接到任何外设,方法didDisconnectPeripheral自己调用
func centralManager(_ central: CBCentralManager, didDisconnectPeripheral peripheral: CBPeripheral, error: Error?) {
被自己调用,这意味着设备断开连接。 我浏览了文档,但发现没有用。我知道BLE可以是一对多的,所以这个问题来自哪里? 我在iOS BLE peripherals keep disconnecting immediately after discoverServices is called检查答案,我已经拿着一个数组的CBPeripherals,但问题仍然存在。的输出
例如我
Connect to <CBPeripheral: 0x15e85a80, identifier = 1BD21078-B2B7-1EE9-5BDC-324DEC7A1BD6, name = Mac mini, state = connected>
Connect to <CBPeripheral: 0x15d83b20, identifier = 6BA160A7-55E7-501D-F195-437CDCD2B558, name = Mac mini, state = connected>
Disconnect from <CBPeripheral: 0x15e85a80, identifier = 1BD21078-B2B7-1EE9-5BDC-324DEC7A1BD6, name = Mac mini, state = disconnected>
错误域= CBErrorDomain代码= 6 “的连接已意外超时”。 UserInfo = {NSLocalizedDescription =连接意外超时}}
答
链接断开有一些不同的原因。任何一方发起断开程序。错误6“连接意外超时”意味着蓝牙链路丢失了无线电级别的连接,例如由于超出范围或其他类型的干扰。
错误参数是否在你的情况? – Larme
错误域= CBErrorDomain代码= 7“指定的设备已与我们断开连接。” UserInfo = {NSLocalizedDescription =指定设备已与我们断开连接。} – Elsammak
您是否始终连接到销售类设备?你甚至不能连接到1台设备? – Larme