工具方法,判断是非允许访问ios相机、相册


1、导入类库

#import <AssetsLibrary/AssetsLibrary.h>
#import <AVFoundation/AVFoundation.h>


2、判断是否允许使用相机

#pragma mark - 确认相机是否允许访问
//返回 1(YES) 表示相机不可用。返回 0(NO) 表示相机可用
+(BOOL )checkCameraCanUse{
    BOOL flag = NO;
    
    //Capture 捕捉器,Video 视频
    AVAuthorizationStatus status = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeVideo];
    
    switch (status) {
        case AVAuthorizationStatusAuthorized://批准
            break;
            
        case AVAuthorizationStatusRestricted: //Restricted 收限制
        case AVAuthorizationStatusDenied://拒绝
        case AVAuthorizationStatusNotDetermined: //不确定
            flag = YES;
            break;
    }
    
    return flag;
}


3、判断是非允许使用相册

typedef NS_ENUM(NSInteger, ALAuthorizationStatus) {
    ALAuthorizationStatusNotDetermined = 0, //用户尚未作出关于此应用程序的选择
    ALAuthorizationStatusRestricted,        // 此应用程序无权访问照片数据。
                                            // 用户不能更改此应用程序的状态,可能是由于活动的限制,例如家长控制的地方。
    ALAuthorizationStatusDenied,            // 用户已拒绝此应用程序对照片数据的访问。
    ALAuthorizationStatusAuthorized         // 用户已授权该应用程序可以访问照片数据。
} __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_6_0);


#pragma mark - 判断相册是否允许使用
//返回 1(YES) 表示相册可用。返回 0(NO) 表示相册不可用
+(BOOL)checkALAssetsLibraryCanUse
{
    BOOL flag = NO;
    
    ALAuthorizationStatus author = [ALAssetsLibrary authorizationStatus];
    switch (author) {
        case ALAuthorizationStatusNotDetermined:  //用户尚未作出关于此应用程序的选择
        case ALAuthorizationStatusRestricted:     //此应用无法访问照片数据,如家长限制
        case ALAuthorizationStatusDenied:         //用户已拒绝此应用访问相册数据
            break;
        case ALAuthorizationStatusAuthorized:{     //用户已授权该应用可以访问照片数据
            flag = YES;
            break;
        }
        default:
            break;
    }
    
    return flag;
}
原文地址:https://www.cnblogs.com/allanliu/p/4270085.html