ios访问相册,摄像头等权限

本文介绍如何在iOS应用中检查用户是否授予了访问相册和相机的权限,并提供了具体的代码实现。

.判断用户是否有权限访问相册

需要引用 AssetsLibrary.framework 


#import <AssetsLibrary/AssetsLibrary.h>

        ALAuthorizationStatus author = [ALAssetsLibrary authorizationStatus];

        if (author == AVAuthorizationStatusRestricted || author == AVAuthorizationStatusDenied){

        

            //无权限

            NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary];

            // app名称

            NSString *app_Name = [infoDictionary objectForKey:@"CFBundleDisplayName"];

            NSString *tips = [NSString stringWithFormat:@"请在”设置-隐私-照片“选项中,允许%@访问你的照片",app_Name];

            UIAlertView * alert = [[UIAlertView alloc]initWithTitle:@"提示" message:tips delegate:nil cancelButtonTitle:@"关闭" otherButtonTitles:nil, nil];

            [alert show];

            return;

        }


    typedef enum {

        kCLAuthorizationStatusNotDetermined = 0, // 用户尚未做出选择这个应用程序的问候

        kCLAuthorizationStatusRestricted,        // 此应用程序没有被授权访问的照片数据。可能是家长控制权限

        kCLAuthorizationStatusDenied,            // 用户已经明确否认了这一照片数据的应用程序访问

        kCLAuthorizationStatusAuthorized         // 用户已经授权应用访问照片数据} CLAuthorizationStatus;

    }


2.判断用户是否有权限访问相机

iOS7之前都可以访问相机,iOS7之后访问相机有权限设置

需要导入 AVFoundation.framework 

#include <AVFoundation/AVFoundation.h>

     NSString *mediaType = AVMediaTypeVideo;

    AVAuthorizationStatus authStatus = [AVCaptureDeviceauthorizationStatusForMediaType:mediaType];

    if(authStatus == AVAuthorizationStatusRestricted || authStatus == AVAuthorizationStatusDenied){

        //无权限

        NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary];

        // app名称

        NSString *app_Name = [infoDictionary objectForKey:@"CFBundleDisplayName"];

        NSString *tips = [NSString stringWithFormat:@"请在”设置-隐私-相机“选项中,允许%@访问你的手机相机",app_Name];

        UIAlertView * alert = [[UIAlertView alloc]initWithTitle:@"提示" message:tips delegate:nil cancelButtonTitle:@"关闭" otherButtonTitles:nil, nil];

        [alert show];

        return;

    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值