Quelles sont les règles de derrière “X désirez utiliser votre emplacement actuel” sur l'iPhone?

À l'aide de la localisation de l'utilisateur sur l'iPhone déclenche le "X désirez utiliser votre emplacement actuel" - "Ne pas autoriser"/"OK". Dans le CLLocationManager de la documentation, il est indiqué:

"L'utilisateur a la possibilité de refuser une demande d'accès à l'emplacement de données de service. Lors de sa première utilisation par une application, l'Emplacement de Noyau cadre invite l'utilisateur à confirmer que l'utilisation du service de localisation est acceptable. Si l'utilisateur refuse la demande, le CLLocationManager objet de rapports d'erreur approprié à son délégué lors de futures demandes."

J'ai trouvé le premier utilise des" deux fois si vous appuyez sur "OK" pour permettre à des services de localisation. À partir de la troisième fois, l'iPhone se souviendra de votre réglage pour toutes les utilisations futures de l'application.

Cependant, un utilisateur en appuyant sur "Ne pas autoriser" sera constamment dérangé à chaque fois une partie de l'application tente de utilise les services de localisation. J'ai essayé au moins 15 fois dans ma propre application, et avez appuyé sur "Ne pas autoriser" encore plus dans le "Vancouver 2010 - mobile officiel spectateur guide". C'est extrêmement gênant pour les utilisateurs ne souhaitant pas utiliser cette fonctionnalité.

Mes questions:

  • Pour toutes les applications, l'iPhone va demander deux fois et n'oubliez pas si vous appuyez sur "OK". Est-ce une observation correcte?
  • Est-il une limite sur le montant de la tente de l'iPhone continuera à demander si vous appuyez sur "Ne pas autoriser", ou est-ce ne se souvenait pas? Comment gérez-vous cela? Depuis locationManager:didFailWithError: est notifié, je suppose que cela pourrait augmenter un compteur de propriété à chaque fois et de persister. La prochaine fois que l'application est utilisé, ce paramètre est coché dans mon propre code. Si le compteur >= 2, ne pas utiliser de base de l'emplacement.
  • Le seul moyen que j'ai trouvé pour enlever le "OK" réglage une fois le rappeler, est de le réinitialiser pour TOUTES les applications dans Général - > Réinitialiser -> Emplacement des avertissements. Est-il un moyen de le faire uniquement pour une application, ou de ma propre code?
En fait je pense que c'est le bon comportement. Si l'utilisateur continue d'utiliser votre app, mais pas les Services de Localisation, comment vital est-il à même les Services de Localisation?
J'ai créé une Carte d'application et j'ai l'intention de lancer dans le marché de l'App. ma question est...faut-il définir le ci-dessus OK/Ne pas Autoriser d'alerte par le biais de codage?? Si oui, alors redirigé moi le lien de l'exemple. Merci à l'avance.

OriginalL'auteur Mads Mobæk | 2010-02-18