J'ai une application avec une interaction explicite de l'utilisateur qui rend l'utilisation de l'utilisateur de l'emplacement actuel. Si l'utilisateur refuse l'accès à des services de localisation, je voudrais encore des utilisations ultérieures pour inviter l'utilisateur à aller dans les paramètres et de ré-activer les services de localisation pour mon application.
Le comportement que je veux, c'est que de l'intégré dans les Cartes app:
- Réinitialiser les avertissements d'emplacement dans Réglages > Général > réinitialiser > Réinitialiser les Avertissements d'Emplacement.
- Démarrer l'application Cartes.
- Appuyez sur l'Emplacement Actuel de bouton dans le coin inférieur gauche.
- Les cartes d'invites avec des "Cartes "" souhaitez Utiliser Votre Emplacement Actuel" | "Ne pas Autoriser" | "Autoriser".
- Choisissez "Ne pas Autoriser" option.
- Appuyez sur l'Emplacement Actuel de bouton dans le coin inférieur gauche de nouveau.
- Cartes invites avec "Activer les Services de Localisation pour Permettre de "Cartes" pour Déterminer Votre Localisation" | "Paramètres" | "Annuler".
Dans ma propre application, de la même base des flux de résultats dans mon CLLocationManagerDelegate -locationManager:didFailWithError: appel d'une méthode avec un kCLErrorDenied d'erreur lors de l'étape finale et l'utilisateur n'a pas la possibilité d'ouvrir l'application Paramètres pour la corriger.
J'ai pu montrer ma propre alerte en réponse à l'erreur, mais il n'aurait pas la capacité de lancer l'application Paramètres, comme l'alerte que le système d'exploitation peut fournir que celui utilisé par les construit dans l'app plans.
Est-il quelque chose dans le CLLocationManager classe, je suis absent qui serait capable de me donner ce comportement?