我正在编写一个需要使用 CoreLocation 服务的 Mac 应用程序。只要我在安全首选项窗格中手动验证服务,代码和位置就可以正常工作。但是,该框架不会自动弹出权限对话框。该文档指出:
重要 用户可以选择拒绝应用程序访问定位服务数据。在应用程序的初始使用期间,Core Location 框架会提示用户确认使用位置服务是可以接受的。如果用户拒绝该请求,则 CLLocationManager 对象在以后的请求中向其委托报告一个适当的错误。
我的委托确实收到了一个错误,并且 +locationServicesEnabled 的值在 CLLocationManager 上是正确的。唯一缺少的部分是向用户提示有关权限的提示。这发生在我的开发 MPB 和一个朋友的 MBP 上。我们俩都搞不清出了什么问题。
有没有人遇到过这个?
相关代码:
_locationManager = [CLLocationManager new];
[_locationManager setDelegate:self];
[_locationManager setDesiredAccuracy:kCLLocationAccuracyKilometer];
...
[_locationManager startUpdatingLocation];