私は現在シミュレータを使用していますが、iOSシミュレータのCoreLocationに問題があります。私は、このコードで位置更新を印刷しますが、決してその見出しにはなりません。私はコースを望んでいない、私はターゲットにベアリングを表示するコンパス型のアプリを作ろうとしている。位置を取得できますが、見出しはありません
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)")
}
}
私はこれをいくつか組み合わせて試しました。私は、場所と見出しの両方を扱う1つの機能を実行しようとしましたが、それは全くデータ印刷を取得しませんでした。私もheadingManager機能を持ってみましたが、何も印刷されませんでした。上のようにこの現在のコードは、場所を印刷しますが、見出しは印刷しません。
どのようにすればいいですか?
見出しを取得するには、シミュレータにはないコンパス付きのデバイスが必要です。 –
実際にデバイスにコンパスを搭載したアプリをテストする唯一の方法はありますか? –
はい、コンパスが内蔵されたデバイスが必要です。 –