Сканирование устройства Bluetooth CoreLocation без iBeacon - PullRequest
0 голосов
/ 28 апреля 2020

Я хочу найти устройства Bluetooth и получить значения RSSI, используя определенный период времени. Я могу сканировать iBeacons. Но я также хочу найти другие устройства Bluetooth (например, устройство 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)
        }
    }

1 Ответ

0 голосов
/ 28 апреля 2020

Вы не можете сканировать устройство Bluetooth с помощью этого метода. Вы можете сканировать только устройство Bluetooth с работой Core Bluetooth Frame. Go через учебник по Bluetooth. Нажмите здесь для ссылки

...