Frage

Ich habe eine App, die nach Standort geprüft wurde. Es wird der Benutzer aufgefordert, den Standort zu verwenden, und wenn der Benutzer nein im Menü sagt, gibt es ein Problem, wenn ich die MapView lade.

Sobald ich die MapView ausgewählt habe, fragt es erneut für den Benutzerspeicherort. Wenn der Benutzer erneut sagt, dass meine Konsole immer wieder Fehler/Warnung sowie mein NSLOG aus dem "DidfailWitherror" meiner Standort -Manager -Klasse anzeigt.

Gibt es eine Möglichkeit, das Standortmanage zu stoppen: didfailWitherrors, wenn der Benutzer bereits nein gesagt hat? Ich glaube nicht

Hier ist ein Beispiel dafür, was in der Konsole wiederholt wird

ERROR,Time,290362745.002,Function,"void CLClientHandleDaemonDataRegistration(__CLClient*, const CLDaemonCommToClientRegistration*, const __CFDictionary*)",server did not accept client registration 1
WARNING,Time,290362745.005,Function,"void CLClientHandleDaemonInvalidation(__CFMessagePort*, void*)",client 1035.0 has been disconnected from daemon
2010-03-15 12:19:05.002 SAQ[1035:207] LocationManager Error Denied by user
War es hilfreich?

Lösung

Dokumentation zu -didFailWithError: Methode sagt:

Wenn der Benutzer die Nutzung des Standortdienstes durch die Anwendung verweigert, meldet diese Methode einen KcLerrordnied -Fehler. Wenn Sie einen solchen Fehler erhalten, sollten Sie den Standortdienst einstellen.

Nachdem Sie diesen Fehler empfangen haben, sollten Sie den Standort -Manager mit der Aktualisierung des Standorts einstellen:

[manager stopUpdatingLocation];

Wenn Sie Mkmapview verwenden, denke ich, dass ein Festlegen der ITS festgelegt ist showsUserLocation Eigentum zu Nein sollte den Trick machen.

Andere Tipps

Es liegt in Ihrer Verantwortung, den Fehlercode zu überprüfen und den Standort zu aktualisieren, wenn der Fehlercode ist kCLErrorDenied.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top