工具方法,判断是非允许访问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;

}

 

你可能感兴趣的:(ios)