Je n'utilise actuellement que le simulateur, mais j'ai des problèmes avec CoreLocation dans swift sur le simulateur iOS. Je reçois des mises à jour de position imprimées par ce code, mais jamais en en-tête. Je ne veux pas de cours, j'essaie de faire une application de type boussole qui montrera une orientation à une cible.Peut obtenir l'emplacement, mais pas le titre
class CompassViewController: UIViewController, CLLocationManagerDelegate {
var lm:CLLocationManager = CLLocationManager()
override func viewDidLoad() {
super.viewDidLoad()
print ("view did load")
lm.delegate = self;
lm.desiredAccuracy = kCLLocationAccuracyBest
lm.requestWhenInUseAuthorization()
lm.startUpdatingLocation()
lm.startUpdatingHeading()
}
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
var locValue:CLLocationCoordinate2D = manager.location!.coordinate
var course = manager.location!.course
print("locations = \(locations)")
}
func headingManger(_ manager: CLLocationManager, didUpdateHeading: [CLHeading]) {
var heading = manager.heading?.magneticHeading
print("heading = \(heading)")
}
}
J'ai essayé quelques combinaisons de cela. J'ai essayé de faire une fonction qui traitait à la fois de l'emplacement et du cap, mais qui n'obtenait aucune impression de données. J'ai aussi essayé d'avoir la fonction headingManager, mais rien n'a été imprimé. Ce code actuel comme ci-dessus affichera l'emplacement, mais pas l'en-tête.
Comment puis-je me rendre au travail?
Obtenir un en-tête nécessite un périphérique avec une boussole, dont le simulateur n'a pas. –
Donc, est le seul moyen de tester des applications avec boussole sur l'appareil? –
Oui, vous aurez besoin d'un appareil avec une boussole intégrée. –