我想使用下面的代码来获取用户的当前位置,但它不起作用。我已将NSLocationWhenInUseUsageDescription
密钥和NSLocationAlwaysUsageDescription
密钥添加到我的Info.plist
文件中。 下面是代码如何获取用户位置? [macOS]
var locationManager = CLLocationManager();
override func viewDidLoad() {
super.viewDidLoad()
startReceivingLocationChanges();
}
func startReceivingLocationChanges() {
let authorizationStatus = CLLocationManager.authorizationStatus()
if authorizationStatus != .authorizedAlways {
// User has not authorized access to location information.
print("not authorized");
return
}
if !CLLocationManager.locationServicesEnabled() {
print("not enabled");
return
}
locationManager.delegate = self
locationManager.desiredAccuracy = kCLLocationAccuracyHundredMeters
locationManager.distanceFilter = 100.0 // In meters.
locationManager.startUpdatingLocation()
}
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
let lastLocation = locations.last!
print(lastLocation)
}
func locationManager(_ manager: CLLocationManager, didFailWithError error: Error) {
print(error);
}
func locationManager(_ manager: CLLocationManager, didChangeAuthorization status: CLAuthorizationStatus) {
print("inside didChangeAuthorization ");
}
我已经通过了苹果的文档阅读及以上,苹果建议的代码。我在这里错过了什么?任何形式的帮助真的很感激。谢谢
编辑 由于某种原因requestAlwaysAuthorization()不可用。看下面的截图
醒来。有没有这样的事情称为模拟器或模拟器的macOS。 –
@nomadoda检查我的编辑。请求授权不可用。 – sumesh