überprüfen, ob ein Benutzer die App erlaubt, ihre Lage zu nutzen
-
19-09-2019 - |
Frage
Das erste Mal die App versucht, den Benutzer Lage erhalten, die sie mit aufgefordert werden, „Möchten Sie Ihren aktuellen Standort verwenden“, und sie treffen können nicht zulassen, oder ok nicht. Gibt es eine Möglichkeit, um herauszufinden, ob der Benutzer ok getroffen hat oder nicht zulassen? Ich versuche, die MKMapView zu haben, um die Benutzer aktuelle Position anzeigen, aber ich möchte verschiedene Aktionen auf der Grundlage der Benutzer die Auswahl zu übernehmen.
Normalerweise würden Sie denken, es wäre ein Delegierter zu sein, diese Informationen zu erhalten, aber es scheint nicht zu sein.
Vielen Dank im Voraus für Ihre Hilfe.
Lösung
Ihr erster Anruf den Standort des Nutzers zu bekommen mit einem Fehler fehl, die Sie dem Benutzer sagt, hat die Ortungsdienste verweigert. Ihre CLLocationManagerDelegate
Methode didFailWithError
wird aufgerufen, wie unten. (Die Konstanten sind in CLError.h
definiert)
- (void)locationManager:(CLLocationManager*)aManager didFailWithError:(NSError*)anError
{
switch([anError code])
{
case kCLErrorLocationUnknown: // location is currently unknown, but CL will keep trying
break;
case kCLErrorDenied: // CL access has been denied (eg, user declined location use)
message = @"Sorry, flook has to know your location in order to work. You'll be able to see some cards but not find them nearby";
break;
case kCLErrorNetwork: // general, network-related error
message = @"Flook can't find you - please check your network connection or that you are not in airplane mode";
}
}