iOS權限問題

判斷相機權限:ios

NSString *mediaType = AVMediaTypeVideo;
AVAuthorizationStatus authStatus = [AVCaptureDevice authorizationStatusForMediaType:mediaType];
if(authStatus == AVAuthorizationStatusRestricted || authStatus == AVAuthorizationStatusDenied){
                   //相機權限受限制
}
typedef NS_ENUM(NSInteger, AVAuthorizationStatus) {
    AVAuthorizationStatusNotDetermined = 0,    請問是否受權訪問
    AVAuthorizationStatusRestricted,     權限都限制
    AVAuthorizationStatusDenied,    拒絕訪問
    AVAuthorizationStatusAuthorized     受權訪問
} NS_AVAILABLE_IOS(7_0) __TVOS_PROHIBITED;

 

判斷相冊權限:ide

if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0){
PHAuthorizationStatus status = [PHPhotoLibrary authorizationStatus];
    if (status == PHAuthorizationStatusDenied || status == PHAuthorizationStatusRestricted) {
        //相冊權限受限制
    }
}
else{
    ALAuthorizationStatus status = [ALAssetsLibrary authorizationStatus];
    if (status == ALAuthorizationStatusDenied || status == ALAuthorizationStatusRestricted) {
         //相冊權限受限制
    }
}

ALAuthorizationStatus 在iOS9以後廢棄了,
PHAuthorizationStatus 是ios8新增的替代 ALAuthorizationStatus 的方法。
typedef NS_ENUM(NSInteger, PHAuthorizationStatus) {
    PHAuthorizationStatusNotDetermined = 0, 
    PHAuthorizationStatusRestricted,       
    PHAuthorizationStatusDenied,        
    PHAuthorizationStatusAuthorized        
} NS_AVAILABLE_IOS(8_0);
typedef NS_ENUM(NSInteger, ALAuthorizationStatus) {
    ALAuthorizationStatusNotDetermined 
    ALAuthorizationStatusRestricted 
    ALAuthorizationStatusDenied 
    ALAuthorizationStatusAuthorized 
} NS_DEPRECATED_IOS(6_0, 9_0, "Use PHAuthorizationStatus in the Photos framework instead");
相關文章
相關標籤/搜索