Comment obtenir une réponse de l'utilisateur lorsque vous êtes invité à indiquer l'emplacement principal?
-
06-07-2019 - |
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.
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:
-
& # 8211; locationManager: didUpdateToLocation: fromLocation:
Dans cette méthode, vous mettez votre code pour gérer les mises à jour d'emplacement. -
& # 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.