iBeacon должен иметь Bluetooth в Swift? - PullRequest
0 голосов
/ 10 января 2019

Я знаю, что для использования этой функции необходима функция Bluetooth. Однако, даже если я на некоторое время отключу Bluetooth в текущем проекте, приведенные ниже элементы печати все еще обновляются.

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

        if beacons.count > 0 {

            print("if beacon detect " + String(beacons.count))

            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{

            print("no beacon result")

        }

    }

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

Если я сканирую маяк по дальности, ему не нужен блютус?

1 Ответ

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

Начиная с iOS 11, отключение Bluetooth в Центре управления не останавливает обнаружение маяков. (Центр управления - это быстрое меню, которое вы видите, когда проводите пальцем вверх от нижней части экрана.) Этот пункт меню на самом деле не отключает Bluetooth, он только убивает активные соединения Bluetooth и не позволяет устанавливать новые. Он не предотвращает связь Bluetooth без установления соединения, такую ​​как маяки.

Однако, если вы отключите его в меню «Настройки» -> «Bluetooth» -> «Выкл.», Вы увидите, что обнаружение маяка прекратится.

...