From 7228b554f9f04985ea3c29129eb5d74973c597d1 Mon Sep 17 00:00:00 2001 From: Jonas Greifenhain Date: Tue, 27 May 2025 19:04:16 +0200 Subject: [PATCH] darwin: Get and prefer advertised name of scanned devices --- darwin/Classes/UniversalBlePlugin.swift | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/darwin/Classes/UniversalBlePlugin.swift b/darwin/Classes/UniversalBlePlugin.swift index 29ab8a5..971c23e 100644 --- a/darwin/Classes/UniversalBlePlugin.swift +++ b/darwin/Classes/UniversalBlePlugin.swift @@ -337,14 +337,17 @@ private class BleCentralDarwin: NSObject, UniversalBlePlatformChannel, CBCentral manufacturerDataList.append(universalManufacturerData!) } + let advertisedName = advertisementData[CBAdvertisementDataLocalNameKey] as? String + let displayName = advertisedName ?? peripheral.name + // Apply custom filters and return early if the peripheral doesn't match - if !universalBleFilterUtil.filterDevice(name: peripheral.name, manufacturerData: universalManufacturerData, services: services) { + if !universalBleFilterUtil.filterDevice(name: displayName, manufacturerData: universalManufacturerData, services: services) { return } callbackChannel.onScanResult(result: UniversalBleScanResult( deviceId: peripheral.uuid.uuidString, - name: peripheral.name, + name: displayName, isPaired: nil, rssi: RSSI as? Int64, manufacturerDataList: manufacturerDataList,