如何立即判断位置管理员是否未能在iOS中获取位置?

时间:2015-03-10 09:36:12

标签: ios swift

在进入另一个视图之前,我需要检查位置是否可用。但除非

locationManager:didFailWithError:

被呼叫,我无法知道位置服务是否已无法使用。

我所做的是startstop位置服务,以手动检查失败并调用回调块然后呈现视图。但问题是确定位置可用性可能需要几秒钟。

那么,如果位置经理未能获得位置,最好的方法是什么?

1 个答案:

答案 0 :(得分:2)

使用didFailWithError的方法是正确的方法。如果位置不再可用,它会回复您。

我认为还有另一种方法可以更快地完成它。您可以尝试使用didUpdateLocations方法并检查其中的位置nil

var newLocation = map.userLocation
var locationAvailable:Bool!
if let theLocation = newLocation.location{
    locationAvailable = true
}else{
    locationAvailable = false
}