相冊權限
iOS8之后加入了PhotoKit,使用需要
<pre><code> #import <Photos/Photos.h> </pre></code>
-
權限類型
<pre><code>
typedef NS_ENUM(NSInteger, PHAuthorizationStatus) {PHAuthorizationStatusNotDetermined = 0, // 未詢問用戶是否授權
PHAuthorizationStatusRestricted, // 未授權,例如家長控制
PHAuthorizationStatusDenied, // 未授權,用戶拒絕造成的
PHAuthorizationStatusAuthorized// 已授權
}
</pre></code> -
權限檢測
<pre><code>
PHAuthorizationStatus photoAuthStatus = [PHPhotoLibrary authorizationStatus];if (photoAuthStatus == PHAuthorizationStatusNotDetermined) {// 未詢問是否授權 可以用下面的請求授權方法詢問用戶
}else if(photoAuthStatus == PHAuthorizationStatusRestricted || photoAuthStatus == PHAuthorizationStatusDenied) {// 未授權
}else{// 已授權
}
</pre></code> 請求授權
<pre><code>
[PHPhotoLibrary requestAuthorization:^(PHAuthorizationStatus status) {
if (status == PHAuthorizationStatusAuthorized) {
// 用戶同意授權
}else {
// 用戶拒絕授權
}
</pre></code>
相機&麥克風權限
首先
<pre><code>#import <AVFoundation/AVFoundation.h> </pre></code>
其次
相機對應AVMediaTypeVideo
麥克風對應AVMediaTypeAudio
-
權限類型
<pre><code>
typedef NS_ENUM(NSInteger, AVAuthorizationStatus) {AVAuthorizationStatusNotDetermined = 0,// 未詢問用戶是否授權
AVAuthorizationStatusRestricted,// 未授權,例如家長控制
AVAuthorizationStatusDenied,// 未授權,用戶拒絕造成的
AVAuthorizationStatusAuthorized// 已授權
}
</pre></code> -
權限檢測
<pre><code>
AVAuthorizationStatus videoAuthStatus = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeVideo];if (videoAuthStatus == AVAuthorizationStatusNotDetermined) {// 未詢問用戶是否授權
}else if(videoAuthStatus == AVAuthorizationStatusRestricted || videoAuthStatus == AVAuthorizationStatusDenied) {// 未授權
}else{// 已授權
}
</pre></code> -
請求授權
<pre><code>
[AVCaptureDevice requestAccessForMediaType:AVMediaTypeVideo completionHandler:^(BOOL granted) {
if (granted){// 用戶同意授權}else {// 用戶拒絕授權 } }];
</pre></code>