关闭

iOS-相机,相册,位置访问权限设置

标签: iosios开发访问权限
1527人阅读 评论(0) 收藏 举报
分类:

1.相机访问权限设置

#import<AVFoundation/AVCaptureDevice.h>

#import<AVFoundation/AVMediaFormat.h>
AVAuthorizationStatus authStatus = [AVCaptureDeviceauthorizationStatusForMediaType:AVMediaTypeVideo];
if(authStatus == AVAuthorizationStatusRestricted || authStatus ==AVAuthorizationStatusDenied){
//无权限
}

相关代码:

   if ([AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeVideo] == AVAuthorizationStatusDenied || AVAuthorizationStatusRestricted) {
        [self showToast:@"无法访问相机,请在系统设置中允许访问"];
        NSURL *url = [NSURL URLWithString:UIApplicationOpenSettingsURLString];
        [[UIApplication sharedApplication]openURL:url];
    }
    if (floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_7_1) {
        // Pre iOS 8 -- No camera auth required.
        
    }else {
        // iOS 8 后,全部都要授权
        AVAuthorizationStatus status = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeVideo];
        switch (status) {
            case AVAuthorizationStatusNotDetermined:{
                // 许可对话没有出现,发起授权许可
                [AVCaptureDevice requestAccessForMediaType:AVMediaTypeVideo completionHandler:^(BOOL granted) {
                    if (granted) {
                        //第一次用户接受
                    }else{
                        //用户拒绝
                    }
                }];
                break;
            }
            case AVAuthorizationStatusAuthorized:{
                // 已经开启授权,可继续
                break;
            }
            case AVAuthorizationStatusDenied:
            case AVAuthorizationStatusRestricted:
               // 用户明确地拒绝授权,或者相机设备无法访问
                break;
            default:
                break;
        }  
    }


2.相册访问权限设置

import<AssetsLibrary/AssetsLibrary.h>
    ALAuthorizationStatus author = [ALAssetsLibraryauthorizationStatus];
    if(author == kCLAuthorizationStatusRestricted || author ==kCLAuthorizationStatusDenied){
    //无权限
        
    }
    
    typedefenum{
        
        kCLAuthorizationStatusNotDetermined =0, // 用户尚未做出选择这个应用程序的问候
        kCLAuthorizationStatusRestricted,       // 此应用程序没有被授权访问的照片数据。可能是家长控制权限
        kCLAuthorizationStatusDenied,           // 用户已经明确否认了这一照片数据的应用程序访问
        kCLAuthorizationStatusAuthorized        // 用户已经授权应用访问照片数据} CLAuthorizationStatus;
        
    }


3.位置访问权限设置

[CLLocationManagerlocationServicesEnabled]
//检测的是整个的iOS系统的定位服务是否开启检测当前应用的定位服务是否开启需要通过一下方法来检测
- (void)locationManager:(CLLocationManager*)managerdidFailWithError:(NSError*)error



0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:91108次
    • 积分:1523
    • 等级:
    • 排名:千里之外
    • 原创:51篇
    • 转载:55篇
    • 译文:0篇
    • 评论:3条
    最新评论