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

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

我的应用程序当前可以很好地打印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>


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


  [ +/- 5.00m(速度5.75 mps /课程
  271.71)@ 4/26/16,1:31:07 AM英国夏令时]
  
  [ +/- 5.00m(速度5.32 mps /课程
  272.27)@ 4/26/16,1:31:08 AM英国夏令时间]
  
  [ +/- 5.00m(速度为5.50 mps /课程
  272.11)@ 4/26/16,1:31:09 AM英国夏令时]
  
  [ +/- 5.00m(速度5.52 mps /课程
  271.42)@ 4/26/16,1:31:10 AM英国夏令时间]
  
  [ +/- 5.00m(速度5.52 mps /课程
  270.29)@ 4/26/16,1:31:11 AM英国夏令时] ...

最佳答案

我认为在模拟器中运行时,没有标题信息可用。我测试了您的代码,并在iPhone 6上正常工作。

关于ios - 无法在iOS9的swift2中获取航向数据(用于 compass 应用),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36853461/

10-10 21:01