iOS 获取用户是否有(相册/相机)权限

判断用户是否有权限访问相册


#import  
ALAuthorizationStatus  author = [ALAssetsLibrary authorizationStatus];
if (author == ALAuthorizationStatusRestricted || author ==ALAuthorizationStatusDenied){ 
//无权限 做一个友好的提示
UIAlertView * alert = [[UIAlertView alloc]initWithTitle:@"温馨提示" message:@"请您先去设置允许APP访问您的相册 设置>隐私>照片" delegate:self cancelButtonTitle:@"我知道了" otherButtonTitles:nil, nil];
   [alert show]; 
   return ;
} else {//做你想做的(可以去打开设置的路径)
    }
}

 * ALAuthorizationStatusNotDetermined= 0, // 用户尚未做出选择这个应用程序的问候 
 * ALAuthorizationStatusRestricted,        // 此应用程序没有被授权访问的照片数据。可能是家长控制权限
 * ALAuthorizationStatusDenied,            // 用户已经明确否认了这一照片数据的应用程序访问
 * ALAuthorizationStatusAuthorized    // 用户已经授权应用访问照片数据

iOS 8 之后推荐用 #import 中的判断

if ([[[UIDevice currentDevice] systemVersion] floatValue] < 8.0) {
    PHAuthorizationStatus status = [PHPhotoLibrary authorizationStatus];
     if (status == PHAuthorizationStatusRestricted ||
            status == PHAuthorizationStatusDenied) {
            //无权限
            return NO;
        }

typedef NS_ENUM(NSInteger, PHAuthorizationStatus) {
    PHAuthorizationStatusNotDetermined = 0, // 默认还没做出选择
    PHAuthorizationStatusRestricted,        // 此应用程序没有被授权访问的照片数据
    PHAuthorizationStatusDenied,            // 用户已经明确否认了这一照片数据的应用程序访问
    PHAuthorizationStatusAuthorized         //  用户已经授权应用访问照片数据
} NS_AVAILABLE_IOS(8_0);

判断用户是否有权限访问相机


#import  
#import  
AVAuthorizationStatus authStatus = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeVideo];
 if (authStatus == AVAuthorizationStatusRestricted || authStatus ==AVAuthorizationStatusDenied) { 
//无权限 可以做一个友好的提示 UIAlertView * alert = [[UIAlertView alloc]initWithTitle:@"温馨提示" message:@"请您先去设置允许APP访问您的相机 设置>隐私>相机" delegate:self cancelButtonTitle:@"我知道了" otherButtonTitles:nil, nil];
    [alert show]; 
    return ;
 } else {  //做你想做的(可以去打开设置的路径)

 }
* AVAuthorizationStatusNotDetermined = 0,// 用户尚未做出选择这个应用程序的问候
* AVAuthorizationStatusRestricted,// 此应用程序没有被授权访问的照片数据。
* AVAuthorizationStatusDenied,// 用户已经明确否认了这一照片数据的应用程序访问
* AVAuthorizationStatusAuthorized// 用户已经授权应用访问照片数据

我们经常会在开发中获取设备的各种权限,当应用未经授权相关权限时,就会提示用户或者直接跳转到系统的‘设置’中来让用户授权。当用户在更改授权的时候你会发现你的程序崩溃了,本以为是代码的原因,可是在网上查阅了一下发现这应该是系统的一个强制行为。(如果连着Xcode调试会一直崩溃的哦~)

你可能感兴趣的:(iOS 获取用户是否有(相册/相机)权限)