相机-相册权限

相册访问权限

NSPhotoLibraryUsageDescription -> 相册
NSCameraUsageDescription -> 相机

有两种方式知道相册的访问权限

  • ALAuthorizationStatus
  • PHAuthorizationStatus

ALAuthorizationStatus

头文件

#import <AssetsLibrary/AssetsLibrary.h>
ALAuthorizationStatus status = [ALAssetsLibrary authorizationStatus];
if (status == ALAuthorizationStatusRestricted || status == ALAuthorizationStatusDenied) { // 无权限  
}
typedef NS_ENUM(NSInteger, ALAuthorizationStatus) {
 ALAuthorizationStatusNotDetermined  // 用户还没有关于这个应用程序做出了选择
 ALAuthorizationStatusRestricted // 这个应用程序未被授权访问图片数据。用户不能更改该应用程序的状态,可能是由于活动的限制,如家长控制到位。
 ALAuthorizationStatusDenied  // 用户已经明确否认了这个应用程序访问图片数据
 ALAuthorizationStatusAuthorized // 用户授权此应用程序访问图片数据
} 

PHAuthorizationStatus

在8.0系统以后,新加入了Photos.framework框架,我们可以利用框架中的PHAuthorizationStatus进行权限状态判断。
头文件

#import <Photos/PHPhotoLibrary.h>
PHAuthorizationStatus status = [PHPhotoLibrary authorizationStatus];
if (status == PHAuthorizationStatusRestricted || status == PHAuthorizationStatusDenied) {   // 无权限 
}
typedef NS_ENUM(NSInteger, PHAuthorizationStatus) {
    PHAuthorizationStatusNotDetermined = 0, 
    PHAuthorizationStatusRestricted,   
    PHAuthorizationStatusDenied,           
    PHAuthorizationStatusAuthorized         
} 

相机权限

头文件

#import <AVFoundation/AVMediaFormat.h>
AVAuthorizationStatus status = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeVideo];
if (status == AVAuthorizationStatusRestricted || status == AVAuthorizationStatusDenied) {  // 无权限  
}
typedef NS_ENUM(NSInteger, AVAuthorizationStatus) {
     AVAuthorizationStatusNotDetermined = 0, // 表明用户尚未选择关于客户端是否可以访问硬件
      AVAuthorizationStatusRestricted,// 客户端未被授权访问硬件的媒体类型。用户不能改变客户机的状态,可能由于活跃的限制,如家长控制
     AVAuthorizationStatusDenied, // 明确拒绝用户访问硬件支持的媒体类型的客户
     AVAuthorizationStatusAuthorized// 客户端授权访问硬件支持的媒体类型
} 
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • iOS10出来之后,有一些童鞋提审应用时会出现因为没有对相机相册等权限的设置提醒而被拒绝,以及出现调取本地相册相机...
    软工官博阅读 200,934评论 1 26
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,490评论 25 709
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,207评论 4 61
  • 沒有人點燈放在地窨子裡,或是斗底下,總是放在燈臺上,使進來的人得見亮光。你眼睛就是身上的燈。你的眼睛若瞭亮,全身就...
    YNC再寫一篇阅读 1,293评论 0 0
  • 天空说:我张开怀抱给鸟儿自由鸟儿说:我飞翔是为了追上那云朵云朵说:我漂泊是在找一个能流泪的角落泪水说:我来人间与那...
    李拜六不开鑫阅读 1,865评论 0 1