Comment obtenir une réponse de l'utilisateur lorsque vous êtes invité à indiquer l'emplacement principal?

StackOverflow https://stackoverflow.com/questions/1613712

Question

Lorsque j'installe mon application sur l'iPhone, il demande l'emplacement actuel avec les options " Ne pas autoriser " et "OK" dans une alerte. Comment savoir quelle option a été choisie? Je veux aussi montrer cette option qu'une seule fois. Si l'utilisateur choisit d'autoriser la recherche de son emplacement actuel, je souhaite que l'appareil obtienne automatiquement l'emplacement en arrière-plan.

Était-ce utile?

La solution

Si l'utilisateur se voit refuser l'accès au service de localisation, la méthode de délégation de CLLocationManager didFailWithError: est appelée:

- (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error{
    if (error.code ==  kCLErrorDenied){
            // User denied access to location service       
    }
}

Autres conseils

Votre contrôleur doit implémenter le protocole CLLocationManagerDelegate . Ceci définit deux méthodes que vous devrez implémenter:

  1. & # 8211; locationManager: didUpdateToLocation: fromLocation:
    Dans cette méthode, vous mettez votre code pour gérer les mises à jour d'emplacement.

  2. & # 8211; locationManager: didFailWithError:
    Dans cette méthode, vous mettez du code pour gérer l'utilisateur qui refuse votre demande ou l'échec des mises à jour.

Une fois que l'utilisateur vous autorise à utiliser son emplacement, il ne sera plus invité à le faire, à moins qu'il ne quitte l'application. Il n’existe cependant aucun moyen d’empêcher le téléphone d’inviter les utilisateurs à chaque démarrage de l’application.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top