diff --git a/PayfritBeacon/Services/BLEManager.swift b/PayfritBeacon/Services/BLEManager.swift index 7b34496..373f4a6 100644 --- a/PayfritBeacon/Services/BLEManager.swift +++ b/PayfritBeacon/Services/BLEManager.swift @@ -274,6 +274,9 @@ extension BLEManager: CBCentralManagerDelegate { ) discoveredBeacons.append(beacon) } + + // Keep list sorted by RSSI (strongest/closest first) + discoveredBeacons.sort { $0.rssi > $1.rssi } } } } diff --git a/PayfritBeacon/Views/ScanView.swift b/PayfritBeacon/Views/ScanView.swift index e41aa97..8f4bd1f 100644 --- a/PayfritBeacon/Views/ScanView.swift +++ b/PayfritBeacon/Views/ScanView.swift @@ -301,7 +301,7 @@ struct ScanView: View { .padding() } } else { - List(bleManager.discoveredBeacons) { beacon in + List(bleManager.discoveredBeacons.sorted { $0.rssi > $1.rssi }) { beacon in Button { selectedBeacon = beacon Task { await startProvisioning(beacon) }