0

次の迅速なコードがあります。これは、デバイスの現在の磁気方位 (つまり、N、E、S、W) を見つけるためのものです。

class ViewController: UIViewController ,CLLocationManagerDelegate {

    var lm:CLLocationManager!

    override func viewDidLoad() {
        super.viewDidLoad()

        lm = CLLocationManager()
        lm.delegate = self

        lm.startUpdatingHeading()
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }

    func locationManager(manager: CLLocationManager!, didUpdateHeading newHeading: CLHeading!) {
        println(newHeading.magneticHeading)
    }
}

動作するはずですが、動作しません。誰でもそれを改善できますか?

4

1 に答える 1

0

まず、次の行を info.plist に追加する必要があります。

また

<key>NSLocationWhenInUseUsageDescription</key>
<string></string>

また

<key> NSLocationAlwaysUsageDescription</key>
<string></string>

アプリに本当に必要なものに応じて。

両方のキーについてここで説明します。

次に、sbarow が質問へのコメントですでに指摘しているように、ユーザーに承認を求める必要があります。

lm.requestWhenInUseAuthorization()
于 2015-06-08T11:07:17.193 に答える