【发布时间】:2016-07-05 21:21:36
【问题描述】:
目前在我的应用程序中,我正在获取用户坐标。我需要始终更新此坐标,因此我将位置代码放置在应用程序委托中的 didFinishLaunchingWithOptions 中。代码是:
let location = CLLocationManager()
class AppDelegate: UIResponder, UIApplicationDelegate, CLLocationManagerDelegate {
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
location.delegate = self
location.desiredAccuracy = kCLLocationAccuracyBest
location.requestAlwaysAuthorization()
location.requestWhenInUseAuthorization()
return true
然后,在同一个 AppDelegate.swift 中,我实现了委托方法来捕获每个位置更新,如下所示:
func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
print(locations)
}
问题是我总是收到 nil 值。
值得一提的是,我正在模拟器上运行应用程序,但在调试菜单中,我模拟了骑自行车甚至 Apple 位置。
我错过了什么?
当然,我使用 NSLocationAlwaysUsageDescription 和 NSLocationWhenInUseUsageDescription 编辑了 plist
【问题讨论】:
标签: swift core-location appdelegate