Ich habe einen View-Controller, der die CLLocationManagerDelegate
implementiert. Ich erstelle ein die CLLocationManager Variable:Swift LocationManager didChangeAuthorizationStatus Immer aufgerufen
let locationManager = CLLocationManager()
Dann in der viewDidLoad
, habe ich Eigenschaften:
// Set location manager properties
locationManager.delegate = self
locationManager.desiredAccuracy = kCLLocationAccuracyHundredMeters
locationManager.distanceFilter = 50
Das Problem kommt, dass die Funktion auch aufgerufen wird, bevor ich den Berechtigungsstatus überprüfen.
func locationManager(manager: CLLocationManager!, didChangeAuthorizationStatus status: CLAuthorizationStatus) {
if (status == .AuthorizedWhenInUse) {
// User has granted autorization to location, get location
locationManager.startUpdatingLocation()
}
}
Kann mir jemand mitteilen, was dazu führen könnte?
Thank you very much. Ich habe nicht bemerkt, dass es nach der Initialisierung aufgerufen wird. –
Danke für die Antwort. Die Apple-Dokumentation muss mit diesen Informationen aktualisiert werden. –
Es scheint, dass Sie recht haben, dass 'didChangeAuthorizationStatus' aufgerufen wurde, kurz nachdem' CLLocationManager' initialisiert wurde, aber wo ist das dokumentiert? – bobics