La description
L'application ne demande pas l'autorisation de l'utilisateur pour accéder à l'emplacement et pour obtenir l'état non déterminé
Fonctionne parfaitement jusqu'à iOS-10
var locationManager : CLLocationManager!
func getLocationDetails()
{
locationManager.delegate = self
locationManager.desiredAccuracy = kCLLocationAccuracyBest
locationManager.requestAlwaysAuthorization()
locationManager.allowsBackgroundLocationUpdates = true
locationManager.startUpdatingLocation()
}
func locationManager(_ manager: CLLocationManager, didChangeAuthorization status: CLAuthorizationStatus)
{
if status == CLAuthorizationStatus.authorizedAlways || status == CLAuthorizationStatus.authorizedWhenInUse
{
locationManager.startUpdatingLocation()
}
}
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation])
{
}
Modes de fond
J'ai parcouru la documentation Apple et trouvé la solution à cette question.
Apple a modifié peu de directives pour obtenir l'emplacement de l'utilisateur.
Voici le lien vidéo: Apple - Quoi de neuf dans les technologies de localisation
Code complet d'accès aux emplacements dans Swift et Objective-C
Solution:
Nous devons maintenant ajouter trois clés d’authentification à Plist:
Plist va ressembler à: L’écran du message d’authentification ressemblera à ceci:
S'il vous plaît demander à l'autre permission aussi "Quand jamais en cours d'utilisation permission" et ajouter les deux permission sur le plist.
J'ai ajouté les deux Keys dans le fichier info.plist
afin de demander des autorisations. Cependant, après avoir supprimé l'application et l'avoir ouverte à nouveau, le simulateur n'affichait pas l'alerte pour permettre à l'utilisateur de sélectionner une option.
Je pouvais faire réapparaître l'alerte après avoir supprimé l'application, puis ouvert la settings
application et enfin réinstallé l'application.
J'espère que cela pourrait aider quelqu'un.