La bannière bleue '%MyApp% est à l'Aide de Votre Emplacement " pour l'application qui utilise les services de localisation uniquement lorsqu'elle est active
Dans mon application je suis à jour de localisation de l'utilisateur à chaque fois lors de l'application devient active. - Je arrêter CLLocationManager
une fois l'emplacement mis à jour à la réception ou dans applicationWillResignActive:
.
Dans Info.plist
il y a un NSLocationWhenInUseUsageDescription
avec une description appropriée.
Si l'application est activée, puis immédiatement déplacé à l'arrière-plan, la bannière bleue en disant que '%MyApp% est à l'Aide de Votre Emplacement " apparaît pour le moins d'une seconde. Cette bannière obtient caché dès applicationWillResignActive:
est appelé.
J'ai remarqué le même problème dans Google Maps, mais pas chez Apple Maps.
Est-il un moyen de se débarrasser de cette bannière complètement? Est-il autre chose que je devrais faire pour iOS heureux? Je ne veux pas qu'il paniquer mes utilisateurs et éviter d'utiliser des fonctionnalités qui nécessitent emplacement.
Vous voulez dire que vous voulez utiliser leur emplacement sans le lui dire? Pour résoudre votre problème, vous pourriez commencer à acquérir de l'emplacement après dix secondes.
OriginalL'auteur kjam | 2014-10-23
Vous devez vous connecter pour publier un commentaire.
Vous avez probablement emplacement comme mode d'arrière-plan dans votre info.plist. Si vous la supprimez, puis la barre bleue n'apparaît pas plus.
Ou, vous pouvez utiliser
requestAlwaysAuthorization
au lieu derequestWhenInUseAuthorization
surCLLocationManager
(et assurer laNSLocationAlwaysUsageDescription
dans l'info.fichier plist), et puis il n'apparaîtra pas non plus.Dans mon cas, mon application est en utilisant l'emplacement à l'arrière-plan, dans certains cas, et j'aimerais que la barre bleue à apparaître lorsque c'est le cas. Mais je ne veux pas qu'il apparaisse lorsque l'on quitte l'application sans la position en arrière-plan. Autant que je sache, ce n'est pas possible d'atteindre (j'ai demandé à ce sujet ici).
MODIFIER: veuillez Noter qu'à partir de l'iOS-9, vous pouvez assurez-vous que la barre bleue apparaît uniquement lorsque l'utilisateur veut en réalité de l'application pour utiliser la position en arrière-plan. Voir cette réponse.
La première partie est la réponse. La dernière partie était simplement pour souligner la limitation de la réponse. J'ai reformulé maintenant.
Bien sûr, je dis juste que peut-être quelqu'un peut aider avec le problème vous êtes, et ils ne verront pas vous demander de l'aide ici. Je ne peux pas, j'ai peur, mais c'est un grand monde de smart programmeurs, donc on ne sait jamais! Je suis donc de vous encourager à poser une question.
merci, j'ai déjà posé la question comme une question distincte.
J'ai ajouté un lien à partir de votre réponse à votre question distincte. Je pense que c'est utile (pour une chose, il rend votre question apparaître dans la catégorie à droite), mais je ne veux pas interférer; si vous ne l'aimez pas, faire reculer mon montage!
OriginalL'auteur fishinear
Si vous voulez avoir accès à la localisation de l'utilisateur avec
CLLocationManager
, l'application aura besoin de montrer que la bannière et l'utilisateur devra appuyer sur "Autoriser". Si elles ne le faites pas, votre emplacement gestionnaire ne sera pas en mesure de détecter l'emplacement de l'utilisateur.Apple Maps est un cas particulier, car c'est une première partie d'application.
OriginalL'auteur Enrico Susatyo