无法在ios9上的swift2中获取航向数据(适用于罗盘应用)

时间:2016-04-26 00:39:42

标签: ios iphone xcode swift compass

尝试使用xcode 7并在ios模拟器中进行测试,以获得在swift 2中工作的简单指南针应用程序的基础知识。

我似乎无法获得标题信息。

我的应用程序当前打印GeoLocation数据很好,但不打印标题数据。

ViewController.swift的内容:

import UIKit
import CoreLocation

class ViewController: UIViewController, CLLocationManagerDelegate{


var lm = CLLocationManager()

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.
    lm.desiredAccuracy=kCLLocationAccuracyBest
    lm.delegate = self
    lm.requestWhenInUseAuthorization()
    lm.startUpdatingHeading()
    lm.startUpdatingLocation()

}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}


func locationManager(manager: CLLocationManager, didUpdateHeading newHeading: CLHeading) {
    print(newHeading)
}


func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation]){
    print(locations)
}
}

我还将此添加到我的Info.plist文件中,并将CoreLocation添加到我喜欢的库中。

<key>NSLocationAlwaysUsageDescription</key>
<string>Lemmie have your location</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>Gimmie</string>

示例控制台输出如下所示:

  

[1 + 37.33761534,-122.03479147&GT; +/- 5.00米(速度5.75 mps /航向   271.71)@ 4/26 / 16,1:31:07 AM英国夏令时间]

     

[1 + 37.33761751,-122.03485278&GT; +/- 5.00米(速度5.32 mps /航向   272.27)@ 4/26 / 16,1:31:08 AM英国夏令时间]

     

[1 + 37.33762005,-122.03491577&GT; +/- 5.00米(速度5.50 mps /航向   272.11)@ 4/26 / 16,1:31:09 AM英国夏令时间]

     

[1 + 37.33762244,-122.03497889&GT; +/- 5.00米(速度5.52 mps /航向   271.42)@ 4/26 / 16,1:31:10 AM英国夏令时间]

     

[1 + 37.33762300,-122.03504341&GT; +/- 5.00米(速度5.52 mps /航向   270.29)@ 4/26 / 16,1:31:11 AM英国夏令时间] ......

1 个答案:

答案 0 :(得分:1)

我不相信在模拟器中运行时可以获得标题信息。我测试了你的代码,它在我的iPhone 6上工作正常。