Le service de localisation iOS alerte de retour d'appel
Lorsque nous utilisons les services de localisation dans une application, nous recevons un iOS alerte indiquant que l'application est d'essayer d'utiliser l'emplacement actuel -- Autoriser/Ne pas Autoriser.
Faire, nous avons un délégué de retour d'appel pour ces boutons?
Je veux gérer appuyez sur "Ne pas Autoriser".
OriginalL'auteur Abhinav | 2011-05-06
Vous devez vous connecter pour publier un commentaire.
Vous n'avez pas d'accès direct à cette alerte.
Si l'utilisateur appuie sur "Ne pas Autoriser", ou si l'application le contraire n'est pas autorisé à utiliser les services de localisation, puis
CLLocationManager
appelleralocationManager:didFailWithError:
sur son délégué. L'erreur de domaine serakCLErrorDomain
et le code d'erreur serakCLErrorDenied
.vous l'avez probablement compris cela maintenant, mais pour l'enregistrement, Apple affiche une alerte dès que vous commencez à l'emplacement des mises à jour sur CLLocationManager. Si vous voulez visuellement indiquer à l'utilisateur pourquoi vous êtes sur le point d'avoir le système de demande de leur emplacement, vous aurez besoin pour créer votre propre INTERFACE utilisateur pour que et évitez de commencer le directeur des lieux, jusqu'à ce que vous êtes sûr que l'utilisateur a tapé ou glissée sur votre INTERFACE utilisateur.
OriginalL'auteur Darren
Vous pouvez simplement obtenir l'action sélectionnée comme ci-dessous:
assurez-vous de définir le délégué du directeur des lieux.
OriginalL'auteur TharakaNirmana
Vous devriez également vérifier pour voir si l'utilisateur a autorisé les services de localisation de votre application avant de commencer le directeur des lieux. Utiliser le
CLLocationManager
méthode de classelocationServicesEnabled
à vérifier.Voici la doc:
Il n'est pas dangereux du tout, en fait, Apple recommande de vérifier pour les services de localisation est activé avant de commencer un emplacement manager (regardez l'exemple de code pour LocateMe dans les docs). C'est la première chose à vérifier. Vous devriez également vérifier pour kCLErrorDenied dans le délégataire.
J'ai été un peu vague, désolé. J'ai été conçue comme un avertissement pour non seulement s'appuyer sur le bouton [CLLocationManager locationServicesEnabled] uniquement en tant que l'utilisateur pourrait avoir des services de localisation activé en général, mais, à partir de votre application:)
C'est vrai, à partir du nom, il semble que si il fait une vérification complète de services de localisation, et d'avoir à chercher kCLErrorDenied plus tard n'est pas du tout intuitive.
OriginalL'auteur nevan king