2017-10-14 4 views
0

J'utilise Location Manager pour suivre les régions. Sur un appareil mon application se comporte étrangement. La permission de localisation a été accordée pour être utilisée Toujours, mais le gestionnaire de position renvoie 0,0 comme coordonnée actuelle et quand je vais dans les paramètres/Confidentialité/Services de localisation/App - ni Jamais ni Toujours sont sélectionnés. Cela se produit sur iOS 11.0.2L'autorisation Services de localisation est vide

J'ai défini la clé de plist (NSLocationAlwaysUsageDescription) et j'utilise uniquement requestAlwaysAuthorization car elle est requise pour la surveillance de la région.

Une chose importante - Google Maps et Apple Maps utilisent normalement l'emplacement actuel.

+1

essayez d'ajouter ceci dans le fichier .plist ' NSLocationWhenInUseUsageDescription \t Emplacement Lors de l'utilisation Utilisation Description de' –

Répondre

0

Comme Brad Jensen explique dans le discours de la WWDC, Apple a décidé que forcer l'utilisateur à donner l'application « toujours » l'accès de l'emplacement est une mauvaise expérience utilisateur:

https://developer.apple.com/videos/play/wwdc2017/713/

Alors, quand vous construisez votre application En utilisant le SDK iOS 11, vous devez maintenant fournir une clé NSLocationWhenInUseUsageDescription dans tous les cas (si vous utilisez l'emplacement du tout). Pour l'accès "Toujours", vous pouvez également ajouter une seconde clé, désormais appelée NSLocationAlwaysAndWhenInUseUsageDescription.