檢查獲取授權(quán)狀態(tài)
+ (AVAuthorizationStatus)authorizationStatusForMediaType:(AVMediaType)mediaType NS_AVAILABLE_IOS(7_0);
typedef NS_ENUM(NSInteger, AVAuthorizationStatus) {
AVAuthorizationStatusNotDetermined = 0,
AVAuthorizationStatusRestricted = 1,
AVAuthorizationStatusDenied = 2,
AVAuthorizationStatusAuthorized = 3,
} NS_AVAILABLE_IOS(7_0) __TVOS_PROHIBITED;
請求授權(quán)
+ (void)requestAccessForMediaType:(AVMediaType)mediaType completionHandler:(void (^)(BOOL granted))handler NS_AVAILABLE_IOS(7_0);
使用實例
//相機授權(quán)
- (void)accessPhotoRights{
AVAuthorizationStatus authStatus = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeVideo];
if(authStatus == AVAuthorizationStatusRestricted || authStatus == AVAuthorizationStatusDenied) {
//相機權(quán)限受限
}else if (authStatus ==AVAuthorizationStatusNotDetermined){
//等待授權(quán)
[AVCaptureDevice requestAccessForMediaType:AVMediaTypeVideo completionHandler:^(BOOL granted) {
if (granted){
//同意授權(quán)
if ([NSThread isMainThread]) {
}else{
dispatch_async(dispatch_get_main_queue(), ^{
});
}
}else {
//拒絕授權(quán)
}
}];
}else if (authStatus == AVAuthorizationStatusAuthorized){
//已經(jīng)授權(quán)
}
}