objective-c - Objective-C - CLLocationManager 找出何时单击 "Allow"或 "Don' t 允许"

标签 objective-c cllocationmanager

在执行 CLLocationManager 时,是否有一个委托(delegate)方法在用户单击“允许”或“不允许”提示请求使用 Location 时调用?

我试过了,但是在用户“允许”或“不允许”后不会调用它。

- (void)locationManager:(CLLocationManager *)manager didChangeAuthorizationStatus:(CLAuthorizationStatus)status;

此外,是否有一个变量可以告诉我用户选择了什么?

我尝试了下面的方法,但总是返回 true。

locationManager.locationServicesEnabled

谢谢你,
三通

最佳答案

有一个委托(delegate)方法

- (void)locationManager:(CLLocationManager *)manager didChangeAuthorizationStatus:(CLAuthorizationStatus)status {
    if ([CLLocationManager authorizationStatus] == kCLAuthorizationStatusAuthorized) {
        // user allowed
    }

}

关于objective-c - Objective-C - CLLocationManager 找出何时单击 "Allow"或 "Don' t 允许",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7579636/

相关文章:

ios - 防止 UIWebView 滚动太远

objective-c - UINavigationController 的 addChildViewController 和 topViewController 之间的相互作用

ios - CLLocationManager - 在位置服务提示后加载 MKAnnotation

iOS - 位置更改时 SwiftUI 更新文本

iOS 位置管理器 - isAuthorizedForPreciseLocation 似乎不存在

iphone - 如何验证电话号码和 -

objective-c - 开发应用程序以查找目的地附近地点的最佳方法

objective-c - 在外部水龙头上关闭模态视图表单 Controller

ios - 在 iOS 11 和 Xcode 9.1 中未调用 CLLocationManager 的 didUpdateLocations 委托(delegate)

swift - CLAuthorizationStatus AuthorizedWhenInUse 仅在第一次调用