CoreLocation
Bonsoir à tous,
J'ai voulu tester un code qui utilise CoreLocation et qui doit me donner ma position actuelle mais cela ne fonctionne pas aussi bien sur le simulateur que sur mon iPhone !
j'ai bien activé le service de localisation sur l'iPhone
pour le simulateur simulate location a bien été paramétré dans Debug!
j'ai aussi rajouté les lignes suivantes dans le fichier info.plist comme il est indiqué
<key>NSLocationAlwaysUsageDescription</key>
<string>Will you allow this app to always know your location?</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>Do you allow this app to know your current location?</string>
voici le code :
http://swiftdeveloperblog.com/code-examples/determine-users-current-location-example-in-swift/
Merci de votre aide
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Bonsoir,
J'avais essayé de tester CoreLocation il y a quelques temps, et je crois me souvenir que çà ne fonctionnait pas sur le simulateur. Le mieux est tout de même de tester sur le device.
- dans Xcode au niveau des commandes de débug (à côté des boutons pour activer les points d'arrêt, etc.)
- dans le simulateur. Je crois me rappeler que c'est le simu qui a priorité.
Il ne faut pas s'attendre à ce que ça te donne la position du Mac par défaut. D'ailleurs, c'est bien pratique, puisque ça permet de s'assurer que ça fonctionne ailleurs que chez soi.
Par ailleurs, ajoute les méthodes déléguées de CLLocationManager pour recevoir les erreurs.
en fait je viens de m'apercevoir que viewWillAppear n'était pas appelé, erreur de ma part !
j'avais
au lieu de
Merci à tous
On peut aussi utiliser un fichier .gpx pour simuler un parcours.
Bonsoir,
Je remonte le sujet car j'ai un souci, j'ai isolé dans une classe Place la localisation d'un lieu, voici la classe :
Le problème est que ça ne fonctionne pas, la fonction didUpdateLocations n'est jamais appelée,
vous auriez une idée ?
Merci.
startUpdatingLocation() est bien appelée ?
Oui la fonction startUpdatingLocation() est bien appelée
http://stackoverflow.com/questions/27583011/location-class-using-cllocationmanager-in-swift
La solution est de déclarer place dans AppDelegate, ensuite je l'utilise comme ceci :
ça fonctionne maintenant, cependant j'ai lu que ce n'était pas génial d'utiliser let delegate = UIApplication.shared.delegate as! AppDelegate.
Quelle est la meilleure façon de faire selon vous ?
Merci.