iOS中判斷照片和相機許可權
阿新 • • 發佈:2019-01-24
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);