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;
    }
  • 相关阅读:
    Java并发编程:线程池的使用
    多线程笔记
    《Java源码解析》之NIO的Selector机制(Part1:Selector.open())
    git reset --hard 和 git reset --sort区别
    java 泛型
    01springboot简介
    Selector 实现原理
    -Dmaven.multiModuleProjectDirectory system property is not set. Check $M2_HOME environment variable
    activemq使用
    8年javascript总结
  • 原文地址:https://www.cnblogs.com/allanliu/p/4270085.html
Copyright © 2011-2022 走看看