CoreLocation非iBeacon蓝牙设备扫描

问题描述 投票:0回答:1

我想找到蓝牙设备并使用一定时间获取RSSI值。我可以扫描iBeacons。但我也想找到其他蓝牙设备(例如iPhone设备)。如何使用CoreLocation扫描所有设备?

func locationManager(_ manager: CLLocationManager, didChangeAuthorization status: CLAuthorizationStatus) {
        if status == .authorizedAlways {
            if CLLocationManager.isMonitoringAvailable(for: CLBeaconRegion.self) {
                if CLLocationManager.isRangingAvailable() {
                    startScanning()
                }
            }
        }
    }

    func startScanning() {
        let uuid = UUID(uuidString: "XXXXX")!
        let beaconRegion = CLBeaconRegion(proximityUUID: uuid, major: 0, minor: 0, identifier: "XXXXX")

        locationManager.startMonitoring(for: beaconRegion)
        locationManager.startRangingBeacons(in: beaconRegion)
    }

    func locationManager(_ manager: CLLocationManager, didRangeBeacons beacons: [CLBeacon], in region: CLBeaconRegion) {
        extendBackgroundRunningTime()
        if beacons.count > 0 {
            print(beacons)
            updateDistance(beacons[0].proximity)
        } else {
            updateDistance(.unknown)
        }
    }
ios swift bluetooth core-location
1个回答
0
投票

您无法使用此方法扫描蓝牙设备。您只能扫描具有Core Bluetooth Frame功能的蓝牙设备。通过下面的蓝牙教程。Press here for link

© www.soinside.com 2019 - 2024. All rights reserved.