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; }