From 3aa3cb70072d63d065b0381493d8d7c93a511a64 Mon Sep 17 00:00:00 2001 From: liangzhenying <867174124@qq.com> Date: Wed, 1 Apr 2026 11:41:24 +0800 Subject: [PATCH] =?utf8?q?=E6=94=B9=E4=BA=86=E8=93=9D=E7=89=99=E7=AE=A1?= =?utf8?q?=E7=90=86=E7=B1=BB=E9=80=BB=E8=BE=91=EF=BC=8C=E5=8A=A0=E4=BA=86?= =?utf8?q?=E8=A7=A6=E5=8F=91=E4=BA=8B=E4=BB=B6=E6=98=AF=E5=90=A6=E6=98=AF?= =?utf8?q?=E5=BD=93=E5=89=8D=E8=BF=9E=E6=8E=A5=E7=9A=84=E8=AE=BE=E5=A4=87?= =?utf8?q?=EF=BC=8C=E5=A6=82=E6=9E=9C=E4=B8=8D=E6=98=AF=E5=88=99=E4=B8=A2?= =?utf8?q?=E5=BC=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../Channel/Config/CCBleManager.swift | 18 +++++++++++++++++- .../PLAYBOY/Channel/Config/CCBleManager.swift | 17 +++++++++++++++++ 2 files changed, 34 insertions(+), 1 deletion(-) diff --git a/ShenYin/ShenYin/Channel/DeepChords/Channel/Config/CCBleManager.swift b/ShenYin/ShenYin/Channel/DeepChords/Channel/Config/CCBleManager.swift index cda64b3..b4da580 100644 --- a/ShenYin/ShenYin/Channel/DeepChords/Channel/Config/CCBleManager.swift +++ b/ShenYin/ShenYin/Channel/DeepChords/Channel/Config/CCBleManager.swift @@ -70,6 +70,11 @@ extension CCBleManager:CBCentralManagerDelegate{ } func centralManager(_ central: CBCentralManager, didConnect peripheral: CBPeripheral) { + if let p = connectPeripheral,p.device.identifier.uuidString != peripheral.identifier.uuidString { + Logger.debug("当前连接\(p)","连接已经连接的\(peripheral)","与当前设备对不上,取消连接") + centralManager.cancelPeripheralConnection(peripheral) + return + } stopScanDevice() Logger.debug("已连接 \(peripheral)") peripheral.delegate = self @@ -82,6 +87,10 @@ extension CCBleManager:CBCentralManagerDelegate{ } } func centralManager(_ central: CBCentralManager, didFailToConnect peripheral: CBPeripheral, error: Error?) { + if let p = connectPeripheral,p.device.identifier.uuidString != peripheral.identifier.uuidString { + Logger.debug("当前连接\(p)","连接失败\(peripheral)","与当前设备对不上,忽略") + return + } Logger.debug("连接失败\(peripheral)") if let err = error { Logger.debug("error \(err)") @@ -89,7 +98,10 @@ extension CCBleManager:CBCentralManagerDelegate{ conetedFailureCallback?(connectPeripheral!) } func centralManager(_ central: CBCentralManager, didDisconnectPeripheral peripheral: CBPeripheral, error: Error?) { - Logger.debug("蓝牙已断开 \(peripheral)") + if let p = connectPeripheral,p.device.identifier.uuidString != peripheral.identifier.uuidString { + Logger.debug("当前连接\(p)","断开连接\(peripheral)","与当前设备对不上,忽略") + return + } if let err = error { Logger.debug("error \(err)") } @@ -142,6 +154,10 @@ extension CCBleManager: CBPeripheralDelegate { } func peripheral(_ peripheral: CBPeripheral, didUpdateValueFor characteristic: CBCharacteristic, error: Error?) { + if let p = connectPeripheral,p.device.identifier.uuidString != peripheral.identifier.uuidString { + Logger.debug("当前连接\(p)","接收数据\(peripheral)","与当前设备对不上,忽略") + return + } //Logger.debug("收到数据 ===uUId ",characteristic.uuid) if CCConfig.sdkType == .joy{ if OtaMananger.isOtadata(characteristic){ diff --git a/ShenYin/ShenYin/Channel/PLAYBOY/Channel/Config/CCBleManager.swift b/ShenYin/ShenYin/Channel/PLAYBOY/Channel/Config/CCBleManager.swift index 3f9c311..9cb5766 100644 --- a/ShenYin/ShenYin/Channel/PLAYBOY/Channel/Config/CCBleManager.swift +++ b/ShenYin/ShenYin/Channel/PLAYBOY/Channel/Config/CCBleManager.swift @@ -68,6 +68,11 @@ extension CCBleManager:CBCentralManagerDelegate{ } func centralManager(_ central: CBCentralManager, didConnect peripheral: CBPeripheral) { + if let p = connectPeripheral,p.device.identifier.uuidString != peripheral.identifier.uuidString { + Logger.debug("当前连接\(p)","连接已经连接的\(peripheral)","与当前设备对不上,取消连接") + centralManager.cancelPeripheralConnection(peripheral) + return + } stopScanDevice() Logger.debug("蓝牙已连接 \(peripheral)") peripheral.delegate = self @@ -75,6 +80,10 @@ extension CCBleManager:CBCentralManagerDelegate{ peripheral.discoverServices([CBUUID(string: DCBleManager.serviceUUID)]); } func centralManager(_ central: CBCentralManager, didFailToConnect peripheral: CBPeripheral, error: Error?) { + if let p = connectPeripheral,p.device.identifier.uuidString != peripheral.identifier.uuidString { + Logger.debug("当前连接\(p)","连接失败\(peripheral)","与当前设备对不上,忽略") + return + } Logger.debug("连接失败\(peripheral)") if let err = error { Logger.debug("error \(err)") @@ -82,6 +91,10 @@ extension CCBleManager:CBCentralManagerDelegate{ conetedFailureCallback?(connectPeripheral!) } func centralManager(_ central: CBCentralManager, didDisconnectPeripheral peripheral: CBPeripheral, error: Error?) { + if let p = connectPeripheral,p.device.identifier.uuidString != peripheral.identifier.uuidString { + Logger.debug("当前连接\(p)","断开连接\(peripheral)","与当前设备对不上,忽略") + return + } Logger.debug("蓝牙已断开 \(peripheral)") if let err = error { Logger.debug("error \(err)") @@ -107,6 +120,10 @@ extension CCBleManager: CBPeripheralDelegate { DCBleManager.shared.peripheral(peripheral, didDiscoverCharacteristicsFor: service, error: error) } func peripheral(_ peripheral: CBPeripheral, didUpdateValueFor characteristic: CBCharacteristic, error: Error?) { + if let p = connectPeripheral,p.device.identifier.uuidString != peripheral.identifier.uuidString { + Logger.debug("当前连接\(p)","接收数据\(peripheral)","与当前设备对不上,忽略") + return + } DCBleManager.shared.peripheral(peripheral, didUpdateValueFor: characteristic, error: error) } } -- 2.17.1