iBeacon swift нуждается в 'requestWhenInUseAuth' при обнаружении маяка? - PullRequest
0 голосов
/ 09 января 2019

Я пытаюсь найти маяк, поэтому запрос всегда первый раз для получения locationPermission, но я перехожу на requestWhenInUseAuth, он не может найти маяк. requestAlwaysAuth

locationManager = CLLocationManager.init()
        locationManager.delegate = self
        locationManager.requestWhenInUseAuthorization()

func locationManager(_ manager: CLLocationManager, didChangeAuthorization status: CLAuthorizationStatus) {

        if status == .authorizedWhenInUse {
            monitorBeacons()
        }

    }

func locationManager(_ manager: CLLocationManager, didRangeBeacons beacons: [CLBeacon], in region: CLBeaconRegion) {

        if beacons.count > 0 {

            majorArray.removeAll()

            for beacon in beacons {
                //                print("uuid: \(beacon.proximityUUID.uuidString) major: \(beacon.major) minor: \(beacon.minor)")

                let major = "\(beacon.major)"
                let num = (major as NSString).integerValue

                if !majorArray.contains(num){
                    majorArray.append(num)

                }

            }

        }else{



        }

    }

Должен ли AlwaysAuth всегда сканировать маяк?

1 Ответ

0 голосов
/ 09 января 2019

Чтобы контролировать маяков, необходимо запросить и получить .authorizedAlways. если вы этого не сделаете, вы не получите обратные вызовы didEnter или didExit. Вы можете диапазон маяков только с .authorizedWhenInUse, но показанный код никогда не начинает дальность, только мониторинг.

...