扫一扫下方二维码,关注本站官方公众号
获取永久解锁本站全部文章的验证码
还能不定期领现金红包

iOS 获取用户是否有(相册/相机)权限-Go语言中文社区

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


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


#import <AssetsLibrary/AssetsLibrary.h> 
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 <Photos/Photos.h> 中的判断

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 <AVFoundation/AVCaptureDevice.h> 
#import <AVFoundation/AVMediaFormat.h> 
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调试会一直崩溃的哦~)

版权声明1:本文来源简书,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://www.jianshu.com/p/549b959e3f14
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-01-09 21:48
  • 阅读 ( 731 )

0 条评论

请先 登录 后评论

官方社群