这是我的locationManager初始化方法:

func initLocationManager() {
        seenError = false
        locationFixAchieved = false
        locationManager = CLLocationManager()
        locationManager.delegate = self
        locationManager.desiredAccuracy = kCLLocationAccuracyBest
        locationManager.requestAlwaysAuthorization()
        locationManager.startUpdatingLocation()
}

在调用此方法后,此行
println(self.locationManager.location)

打印零
这是为什么?过去它对我来说效果很好,我只对我的应用程序做了几处更改,但现在效果不好。

最佳答案

1)CLLocation location documentation
-如果未检索到任何位置数据,则此属性的值为nil。

2)您已经为CLLocationManager设置了委托(delegate)。为什么不实现locationManager:didUpdateLocations:并从内部打印最新检索到的位置?

3)您使用的是模拟器还是真实的设备?请记住,如果您使用模拟器,则可能需要启用模拟位置:


您还可以在以下位置找到Custom Location选项:
-Simulator -> Debug -> Location -> Custom Location...

关于ios - CLLocationManager.location为nil,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27093422/

10-12 05:22