У меня есть приложение для клиента, которое требует от меня использования метода startMonitoringSignificantLocationChanges()
, однако, когда я не работаю в течение определенного периода времени, оно все равно сработает.
Мой код менеджера местоположения следующий:
locationManager = CLLocationManager()
locationManager.desiredAccuracy = kCLLocationAccuracyBest
locationManager.requestAlwaysAuthorization()
locationManager.distanceFilter = 1500
locationManager.startUpdatingLocation()
locationManager.delegate = self
locationManager.startMonitoringSignificantLocationChanges()
locationManager.allowsBackgroundLocationUpdates = true
locationManager.pausesLocationUpdatesAutomatically = false
, тогда мой didUpdateLocations
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
let location: CLLocation = locations.last!
print("Location: \(location)")
print("SIGNIFICANT CHANGE")
}
Когда я путешествую, он печатает каждые 1500 метров, как и ожидалосьсрабатывает, когда не ожидается, и я потерял решение или возможную проблему.