美文网首页iOS技术文章
iOS相册权限、相机权限、麦克风权限

iOS相册权限、相机权限、麦克风权限

作者: RangerZz | 来源:发表于2016-05-10 18:00 被阅读3173次

    相册权限

    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>

    相关文章

      网友评论

      本文标题:iOS相册权限、相机权限、麦克风权限

      本文链接:https://www.haomeiwen.com/subject/xhyyrttx.html