我在macOS High Sierra上使用CoreLocation。
我需要得到当前用户的位置,但这段代码:
if (CLLocationManager.locationServicesEnabled()) {
switch CLLocationManager.authorizationStatus() {
case .restricted:
print("You don't have permission to use Location Services.")
case .denied:
print("You denied permission to use Location Services, please enable it in Preferences.")
case .notDetermined:
print("Non determinati")
self.locationManager.startUpdatingLocation()
default: ()
}
}
else {
print("Location services disabled")
}
字符串
总是打印“位置服务禁用”。
locationManager是在示例创建时初始化的类属性。
即使尝试使用showUserLocation = true
的MapView也不起作用。在我的Mac设置中,我启用了位置服务,但我的应用程序没有显示在列表中(可能是因为它从未请求用户位置访问)。
我已经在我的应用Info.plist文件中设置了“Privacy - Location When In Use Usage Description"有人知道如何正确询问用户位置吗?我目前直接从XCode运行我的应用。
2条答案
按热度按时间oknrviil1#
HGJ
在您info.plist中添加此
Privacy - Location When In Use Usage Description
,键入String
,并在Value Write中输入Why are you asking for location2w2cym1i2#
检查你是否在功能中打开了AppSandbox。关闭它然后再试一次。这为我解决了这个问题。