При запуске приложения функция didUpdateLocations запускаеться раза 3 подряд и не успевают сработать ограничения которые внутри, в чем может быть проблема?
CLLocationManager didUpdateLocations
Измените .distanceFilter например на 50, чтобы получать уведомления не сразу, а только каждые 50 метров:
let locationManager = CLLocationManager()
locationManager.delegate = self
locationManager.distanceFilter = 50
locationManager.desiredAccuracy = kCLLocationAccuracyBest
Den
#3
В том то и дело что
locationManager.distanceFilter = 500
оно срабатывает 3 - 5 раз за пол секунды при запуске, а дальше все нормально, хоть у меня и функция выглядит вот так
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
if let location = locationManager.location {
locationManager.stopUpdatingLocation()
.......
}
}
Den
#5
Спасибо haymob за помощь! Вот решение которое работает:
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
if let location = locations.first, locationManager.monitoredRegions.isEmpty {
locationManager.stopUpdatingLocation()
......
}
}