zoukankan      html  css  js  c++  java
  • 工具方法,判断是非允许访问ios相机、相册


    1、导入类库

    #import <AssetsLibrary/AssetsLibrary.h>
    #import <AVFoundation/AVFoundation.h>


    2、判断是否允许使用相机

    #pragma mark - 确认相机是否允许访问
    //返回 1(YES) 表示相机不可用。返回 0(NO) 表示相机可用
    +(BOOL )checkCameraCanUse{
        BOOL flag = NO;
        
        //Capture 捕捉器,Video 视频
        AVAuthorizationStatus status = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeVideo];
        
        switch (status) {
            case AVAuthorizationStatusAuthorized://批准
                break;
                
            case AVAuthorizationStatusRestricted: //Restricted 收限制
            case AVAuthorizationStatusDenied://拒绝
            case AVAuthorizationStatusNotDetermined: //不确定
                flag = YES;
                break;
        }
        
        return flag;
    }


    3、判断是非允许使用相册

    typedef NS_ENUM(NSInteger, ALAuthorizationStatus) {
        ALAuthorizationStatusNotDetermined = 0, //用户尚未作出关于此应用程序的选择
        ALAuthorizationStatusRestricted,        // 此应用程序无权访问照片数据。
                                                // 用户不能更改此应用程序的状态,可能是由于活动的限制,例如家长控制的地方。
        ALAuthorizationStatusDenied,            // 用户已拒绝此应用程序对照片数据的访问。
        ALAuthorizationStatusAuthorized         // 用户已授权该应用程序可以访问照片数据。
    } __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_6_0);
    
    
    #pragma mark - 判断相册是否允许使用
    //返回 1(YES) 表示相册可用。返回 0(NO) 表示相册不可用
    +(BOOL)checkALAssetsLibraryCanUse
    {
        BOOL flag = NO;
        
        ALAuthorizationStatus author = [ALAssetsLibrary authorizationStatus];
        switch (author) {
            case ALAuthorizationStatusNotDetermined:  //用户尚未作出关于此应用程序的选择
            case ALAuthorizationStatusRestricted:     //此应用无法访问照片数据,如家长限制
            case ALAuthorizationStatusDenied:         //用户已拒绝此应用访问相册数据
                break;
            case ALAuthorizationStatusAuthorized:{     //用户已授权该应用可以访问照片数据
                flag = YES;
                break;
            }
            default:
                break;
        }
        
        return flag;
    }
  • 相关阅读:
    C#中ArrayList 与 string、string[]数组 的转换
    C#int转成string,string转成int...获取listbox中的值...ListBox 如何循环赋值
    windows下定时利用bat脚本实现ftp备份上传
    Matlab中的静态文本框中显示多行内容
    matlab gui edit text 多行输出
    matlab的GUI中用全局变量来终止循环
    windows下定时利用bat脚本实现ftp上传和下载
    利用MATLAB绘制置信区域
    用MATLAB做聚类分析
    递归、斐波拉契数列、快速排序、八皇后
  • 原文地址:https://www.cnblogs.com/allanliu/p/4270085.html
Copyright © 2011-2022 走看看