MapKit in iOS 8 und Swift

7

Ich versuche, MapKit auf iOS 8 zu verwenden, und ich erhalte den Fehler:

%Vor%

Nachdem ich hier nachgesehen habe, musste ich NSLocationWhenInUsageDescription in meinem plist implementieren und auch locationManager.requestWhenInUseAuthorization() aufrufen, aber es passiert nichts und ich erhalte immer noch diesen Fehler in der Konsole. Was mache ich falsch?

    
Phil 08.06.2014, 11:57
quelle

3 Antworten

10

In meinem Anwendungsdelegaten habe ich eine optionale Variable für den locationManager außerhalb der Klasse erstellt und dann

festgelegt %Vor%

Dies bewirkt, dass die Alarmansicht mit Ihrer NSLocationWhenInUseUsageDescription oder NSLocationAlwaysUsageDescription angezeigt wird, wenn Sie sie entsprechend ändern.

Dann habe ich in der View-Controller-Datei eine andere Variable außerhalb der Klasse erstellt, um einen lokalen CLLocationManager zu speichern. Ich stelle dann

ein %Vor%

Dann können Sie die Delegate-Methode

verwenden %Vor%

wird aufgerufen, wenn sich der Autorisierungsstatus ändert, wenn der Benutzer auf das Popup reagiert. Darin können Sie diesen Code verwenden, um den Benutzerstandort auf die Karte zu setzen.

%Vor%

fügt den Standort des Benutzers nur dann zur Karte hinzu, wenn Sie für die Verwendung autorisiert sind.

    
Robert Mcc 08.06.2014, 17:05
quelle
9

Ich habe mich auch darüber geärgert, bis ich festgestellt habe, dass sich der Schlüssel info.plist geändert hat. Wenn du NSLocationUsageDescription in hattest, musst du entweder zu NSLocationAlwaysUsageDescription oder NSLocationWhenInUseUsageDescription (setze mindestens eins zu YES ) wechseln, jetzt ist es obligatorisch in iOS8.

Und dann funktioniert Roberts Code so, wie er sollte (danke fürs Teilen).

    
David Mendels 12.06.2014 03:46
quelle
7

Es ist NSLocationWhenInUseUsageDescription, nicht NSLocationWhenInUsageDescription. Die meisten Orte online haben den falschen Schlüssel

    
Jonathan Brown 10.08.2014 22:46
quelle

Tags und Links