object-C_多媒體權限設置

1.多媒體權限(相冊,相機,麥克風)

/**
 * 相冊權限枚舉
 */
typedef NS_ENUM(NSInteger, MediaStatusType) {
    MediaStatusTypeMore = 1,
    MediaStatusTypePhoto,//相冊
    MediaStatusTypeCamera,//相機
    MediaStatusTypeAudio//麥克風
};
//檢查訪問相冊權限
- (MediaStatusType)checkOutMediaStatus {
    
    //相機權限
    NSString *mediaType = AVMediaTypeVideo;
    AVAuthorizationStatus authStatus = [AVCaptureDevice authorizationStatusForMediaType:mediaType];
    if(authStatus == AVAuthorizationStatusRestricted || authStatus == AVAuthorizationStatusDenied){
        return MediaStatusTypeCamera;
    }
    //相冊權限
    ALAuthorizationStatus author = [ALAssetsLibrary authorizationStatus];
    if (author == ALAuthorizationStatusRestricted || author ==ALAuthorizationStatusDenied) {
        return MediaStatusTypePhoto;
    }
    
    //麥克風權限
    AVAuthorizationStatus videoAuthStatus = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeAudio];
    if(videoAuthStatus == AVAuthorizationStatusRestricted || videoAuthStatus == AVAuthorizationStatusDenied) {// 未授權
        return MediaStatusTypeAudio;
    }
    
    return MediaStatusTypeMore;
}

//進入系統相關設置
- (void)efOpenMediaAuthority {
  //跳轉到設置頁面中自己的應用下
  [[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容