Bei der Abfrage der Standorterlaubnis ist ein Fehler aufgetreten: "Es wird versucht, MapKit-Standortaktualisierungen ohne Aufforderung zur Standortautorisierung zu starten. Zuerst muss - [CLLocationManager requestWhenInUseAuthorization] oder - [CLLocationManager requestAlwaysAuthorization] aufgerufen werden." Das Problem ist, dass ich bereits getan habe und es funktionierte früher gut, bis ich ein URL-Schema für etwas völlig anderes hinzufügte.Fehler beim Ersuchen um Standorterlaubnis
Dies ist in meinem Viewcontroller:
override func viewDidLoad()
{
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
self.locationManager.delegate = self
self.locationManager.desiredAccuracy = kCLLocationAccuracyBest
self.locationManager.requestAlwaysAuthorization()
self.locationManager.startUpdatingLocation()
self.mapView.showsUserLocation = true
//your loc
mapView.delegate = self
let initialLocation = CLLocation(latitude: 39, longitude: 77)
centerMapOnLocation(initialLocation)
}
Was ist der Fehler? um Ihnen zu helfen, brauchen wir einige Details –
requestAlwaysAuthorization() zeigt dem Benutzer einen Dialog, auch wenn sie der schnellste Benutzer der Welt sind, ich glaube nicht, dass sie den Dialog in dem winzigen Bruchteil einer Sekunde zuvor akzeptieren können startUpdatingLocation() wird in der nächsten Codezeile ausgeführt. Und was, wenn der Benutzer keine Erlaubnis erteilt? Es gibt Millionen von Anleitungen und Fragen dazu, wie Sie die Autorisierung von Anträgen implementieren können. Sie können sie lesen. Sie sind nicht so einfach wie die wenigen Codezeilen, die Sie haben. – Gruntcakes