web-dev-qa-db-fra.com

Services de localisation dans Safari mobile: Ne pas autoriser est enregistré ... pour toujours? Même avec réinitialisation

Mon application Web utilisant les services de localisation a bien fonctionné jusqu'à ce que je commence à tester les cas d'utilisation "Ne pas autoriser". Maintenant, un iPhone refuse d'autoriser les services de localisation, même lorsque je réponds "OK" à "Safari", j'aimerais utiliser votre position actuelle.

Pour reproduire ... Utiliser l'iPhone sur iOS 5.1:

  1. Charger une page Web qui effectue des appels de services de localisation (comme http://smithsrus.com/geo.html )
  2. Répondez "Ne pas autoriser" lorsque l'invite d'autorisation utilisateur apparaît.
  3. Rechargez la page et répondez "Ne pas autoriser" 2 fois de plus.
  4. Rechargez la page et consultez "Utilisateur refusé" sans obtenir d'invite.
  5. Allez dans "Paramètres-> Général-> Réinitialiser-> Réinitialiser les avertissements de position" et appuyez sur "Réinitialiser les avertissements".
  6. Revenez à Safari, rechargez la page et voyez maintenant l'invite d'autorisation utilisateur.
  7. Même si vous répondez "OK", la page Web sera toujours refusée.

Je tue et redémarre Safari, je supprime toutes les données du site Web, j'active et désactive les services de localisation, je redémarre même et Safari refuse toujours d'autoriser les services de localisation même lorsque je dis que je le souhaite.

Une fois que vous avez suivi ces étapes, ce domaine Web est mort pour les services de localisation. Je manque de domaines pour tester

J'ai cherché dans de nombreux StackOverflow, Apple développeur et autres sites pour obtenir des réponses. Mais cela ressemble à un bug pour moi. Répondre à une invite avec "Autoriser" mais être refusé doit être un bug. Après en répondant "Autoriser", l'icône des services de localisation apparaît brièvement en haut de l'écran, puis disparaît, et dans les paramètres des services de localisation, Safari apparaît avec "On" et l'icône grise à côté.

Après avoir essayé une combinaison de réinitialisation des avertissements de localisation, d'activation et de désactivation des services de localisation, de fermeture et de redémarrage du navigateur, j'ai réussi à obtenir une nouvelle erreur:
"L'opération n'a pas pu être terminée. (Erreur kCLErrorDomain 1.)" Sonne buggé.

Je préfère que ce soit quelque chose de stupide que je fais, quelqu'un peut-il me le dire?

36
Axel

Je l'ai compris après avoir abandonné et pensé qu'il n'y avait pas de solution. J'ai réussi à partager ma position sur mon iPhone 4s en procédant comme suit:

Allez à Paramètres -> Général, faites défiler vers le bas et allez à Réinitialiser-> Réinitialiser l'emplacement et la confidentialité.

La prochaine fois que j'ai ouvert mon application Web pour tester ses fonctionnalités de localisation utilisateur, cela a fonctionné comme un charme. J'espère que cela aide tous ceux qui ont ce problème.

52
Mark

Les étapes suivantes l'ont résolu pour moi:

  1. Fermez tous les onglets en safari avec le domaine en question ouvert.
  2. Fermez Safari (maintenez le bouton d'accueil et cochez).
  3. Paramètres -> Général -> Réinitialiser -> Réinitialiser les avertissements de localisation/Réinitialiser l'emplacement et la confidentialité.
  4. Ouvrez Safari et réessayez.

L'astuce (par rapport à la réponse de Mark) est de s'assurer que vous fermez complètement Safari. Lorsque j'ai suivi la réponse de Mark, j'ai fait réapparaître l'invite pour Safari lui-même, mais pas pour mon domaine. Après avoir fermé Safari puis suivi la réponse de Mark, j'ai reçu 2 invites successives, d'abord pour Safari, puis pour mon domaine.

6
Tyson

J'avais le même problème causé par la répétition de l'option "Ne pas autoriser".

La façon dont j'ai corrigé cela dans mon iPad 2 était d'aller dans "Paramètres> Général> Restrictions", puis d'activer les restrictions (je dois saisir un mot de passe). De là, je suis allé dans "Emplacement" dans la section "Autoriser les modifications" et j'ai vérifié "Autoriser les modifications" et je me suis assuré que les services de localisation étaient activés pour toutes les applications répertoriées. Cela semble l'avoir réinitialisé pour moi. Après cela, je pouvais retourner dans "Général> Restriction" et désactiver à nouveau les restrictions.

J'espère que cela vous aide!

0
JFlo