尝试获得在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/