У меня есть проект 2 года назад, который я только что обновил с swift 3 до 4. Никаких реальных существенных изменений, за исключением получения новых разрешений plist.Запустил приложение на реальном устройстве, и маяк не был найден.UUID, мажорные и минорные, проверены много раз, чтобы быть действительными и правильными.Маяк BKON сидит рядом с телефоном.
plist выглядит примерно так: ![enter image description here](https://i.stack.imgur.com/5GFSD.png)
менеджер местоположения настроен так же, как и в viewDidLoad
var locationManager:CLLocationManager!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
print("locationManager setup")
locationManager = CLLocationManager()
locationManager.desiredAccuracy = kCLLocationAccuracyBest
locationManager.requestAlwaysAuthorization()
locationManager.delegate = self
}
Регион / настройка маяка
func locationManager(_ manager: CLLocationManager, didChangeAuthorization status: CLAuthorizationStatus) {
if status == .authorizedAlways {
if CLLocationManager.isMonitoringAvailable(for: CLBeaconRegion.self) {
if CLLocationManager.isRangingAvailable() {
setupBeacons()
}
}
}
}
func setupBeacons(){
print("setupBeacons")
if let beaconUUID = UUID.init(uuidString: "58de905b-3b54-bf9d-2d01-4dc018eaf6cc") {
let region1 = CLBeaconRegion(
proximityUUID: beaconUUID,
major: 998,
minor: 1330, //2121
identifier: "Crossing1")
region1.notifyOnEntry = true
region1.notifyOnExit = true
region1.notifyEntryStateOnDisplay = true
startMonitoringBeacon(region: region1)
}
}
func startMonitoringBeacon(region: CLBeaconRegion){
locationManager.startMonitoring(for: region)
locationManager.startRangingBeacons(in: region)
}
Затем мне задают обратный вызов делегата примерно так:
func locationManager(_ manager: CLLocationManager, didRangeBeacons beacons: [CLBeacon], in region: CLBeaconRegion) {
print("didRangeBeacons: found \(beacons.count)")
}
Но маяки не найдены.Нет ошибок или чего-либо еще в других методах делегата (rangeBeaconsDidFailFor, мониторингDidFailFor и didFailWithError).Я уже пытался удалить все маяки из менеджера местоположений, удалить, переустановить приложение несколько раз и перестроить приложение с нуля.
Что-то мне не хватает?