Swift CoreLocation

时间:2019-01-12 14:37:02

标签: swift location

对于以下代码行:

let currentLocationCoordinates = locationManager.requestLocation()

我收到此警告:

  

常量“ currentLocationCoordinates”推断为类型为“无效”,   这可能是意外的

在Info.plist中,我添加了以下键:

  • 隐私-位置始终且在使用时用法说明
  • 隐私-位置始终使用说明
  • 隐私-使用时的位置用法说明

“ locationManager”是在类属性中定义的:

let locationManager = CLLocationManager()

我进行了很多搜索,没有找到任何解决方案。你有什么建议吗?谢谢!

1 个答案:

答案 0 :(得分:0)

您需要

let locationManager = CLLocationManager()
locationManager.delegate = self

class MYVC:UIViewController,CLLocationManagerDelegate { --- }

func locationManager(_ manager: CLLocationManager, 
       didUpdateLocations locations: [CLLocation]) { --- }

locationManager.requestLocation()返回的不是当前位置,它会查询当前位置,然后在获取位置时调用didUpdateLocations,因此您可能print(locations.last),也可能只需要

  

隐私权-位置始终且使用时使用情况说明

因为它包含其他2个权限