检查接受 NSLocationWhenInUseUsageDescription
Check acceptance of NSLocationWhenInUseUsageDescription
我正在为 iOS 开发处理信标和位置管理的应用程序。
在 iOS 8 中,应用程序必须在 plist 文件中包含 "NSLocationWhenInUseUsageDescription" 密钥,该密钥将在应用程序启动时显示在应用程序中,以获取用户启用位置跟踪的权限。
如何检测用户是否接受?我想就此做出决定。
谢谢。
您可以通过在 class 设置中实现以下方法作为您的 CLLocationManager 委托(实现 CLLocationManagerDelegate 协议)来检测这一点
Swift 中的示例:
// MARK: CLLocationManagerDelegate
func locationManager(manager: CLLocationManager!, didChangeAuthorizationStatus status: CLAuthorizationStatus) {
// check status to see if we’re authorized
let authorized = (status == CLAuthorizationStatus.AuthorizedWhenInUse)
// handle acceptance...
}
Objective C 示例:
-(void)locationManager:(CLLocationManager *)manager didChangeAuthorizationStatus:(CLAuthorizationStatus)status {
BOOL isAuthorized = status == kCLAuthorizationStatusAuthorizedWhenInUse;
// handle acceptance..
}
我正在为 iOS 开发处理信标和位置管理的应用程序。 在 iOS 8 中,应用程序必须在 plist 文件中包含 "NSLocationWhenInUseUsageDescription" 密钥,该密钥将在应用程序启动时显示在应用程序中,以获取用户启用位置跟踪的权限。 如何检测用户是否接受?我想就此做出决定。
谢谢。
您可以通过在 class 设置中实现以下方法作为您的 CLLocationManager 委托(实现 CLLocationManagerDelegate 协议)来检测这一点
Swift 中的示例:
// MARK: CLLocationManagerDelegate
func locationManager(manager: CLLocationManager!, didChangeAuthorizationStatus status: CLAuthorizationStatus) {
// check status to see if we’re authorized
let authorized = (status == CLAuthorizationStatus.AuthorizedWhenInUse)
// handle acceptance...
}
Objective C 示例:
-(void)locationManager:(CLLocationManager *)manager didChangeAuthorizationStatus:(CLAuthorizationStatus)status {
BOOL isAuthorized = status == kCLAuthorizationStatusAuthorizedWhenInUse;
// handle acceptance..
}