我正在开发一个处理信标和位置管理的iOS应用程序。 在iOS 8中,应用程序必须包含" NSLocationWhenInUseUsageDescription" plist文件中的密钥,在启动时将显示在应用程序中,以获得用户启用位置跟踪的权限。 如何检测用户是否接受?我想就此作出决定。
谢谢。
答案 0 :(得分:5)
您可以通过在类设置中将以下方法实现为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...
}
目标C示例:
-(void)locationManager:(CLLocationManager *)manager didChangeAuthorizationStatus:(CLAuthorizationStatus)status {
BOOL isAuthorized = status == kCLAuthorizationStatusAuthorizedWhenInUse;
// handle acceptance..
}