检查是否接受NSLocationWhenInUseUsageDescription

时间:2015-03-04 07:28:33

标签: ios ios8 ibeacon

我正在开发一个处理信标和位置管理的iOS应用程序。 在iOS 8中,应用程序必须包含" NSLocationWhenInUseUsageDescription" plist文件中的密钥,在启动时将显示在应用程序中,以获得用户启用位置跟踪的权限。 如何检测用户是否接受?我想就此作出决定。

谢谢。

1 个答案:

答案 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..        
}