1、照片权限判断
在iOS6之后,app中使用照片(即自带相册)需要用户权限验证,所以我们可以做一个权限判断给出友好的提示或者界面效果。
相册判断需要导入 <AssetsLibrary/AssetsLibrary.h>
ALAuthorizationStatus author = [ALAssetsLibrary authorizationStatus];
typedef NS_ENUM(NSInteger, ALAuthorizationStatus) { ALAuthorizationStatusNotDetermined = 0, // 用户还未决定是否授权访问相册 ALAuthorizationStatusRestricted, // 没有被授权访问相册,可能是家长控制权限 // The user cannot change this application’s status, possibly due to active restrictions // such as parental controls being in place. ALAuthorizationStatusDenied, // 用户拒绝程序访问相册 ALAuthorizationStatusAuthorized // 用户已授权程序访问相册 } __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_6_0);
2、相机权限判断
在iOS7之前,设置中是没有相机设置选项,程序默认是可以访问相机的。在iOS7之后添加了这一权限。
判断相机权限需要导入 <AVFoundation/AVCaptureDevice.h>
NSString *mediaType = AVMediaTypeVideo; AVAuthorizationStatus authStatus = [AVCaptureDevice authorizationStatusForMediaType:mediaType];枚举类型与相册的基本一致。
typedef NS_ENUM(NSInteger, AVAuthorizationStatus) { AVAuthorizationStatusNotDetermined = 0, //用户还未决定是否给程序授权相机权限 AVAuthorizationStatusRestricted,<span style="white-space:pre"> </span>//没有授权相机权限,可能是家长控制权限 AVAuthorizationStatusDenied,<span style="white-space:pre"> </span>//用户拒绝程序拥有相机权限 AVAuthorizationStatusAuthorized<span style="white-space:pre"> </span>//用户授权程序访问相机 } NS_AVAILABLE_IOS(7_0);