iOS 获取系统权限

来源:互联网 发布:国产皮鞋 知乎 编辑:程序博客网 时间:2024/04/30 18:53

1、获取相机权限

+(BOOL)getCameraState
{
    //    NSString *mediaType = AVMediaTypeVideo;
    AVAuthorizationStatus authStatus = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeVideo];
    if(authStatus == ALAuthorizationStatusRestricted || authStatus == ALAuthorizationStatusDenied){
        return NO;
    }else{
        return YES;
    }
}

2、获取相册的读取权限

+(BOOL)getPhotoAlbumState
{
    NSString *tipTextWhenNoPhotosAuthorization; // 提示语
    ALAuthorizationStatus authorizationStatus = [ALAssetsLibrary authorizationStatus];
    // 如果没有获取访问授权,或者访问授权状态已经被明确禁止,则显示提示语,引导用户开启授权
    if (authorizationStatus == ALAuthorizationStatusRestricted || authorizationStatus == ALAuthorizationStatusDenied) {
        NSDictionary *mainInfoDictionary = [[NSBundle mainBundle] infoDictionary];
        NSString *appName = [mainInfoDictionary objectForKey:@"CFBundleDisplayName"];
        tipTextWhenNoPhotosAuthorization = [NSString stringWithFormat:@"%@%@%@",FPLocalizedString(@"openSetting"), appName,FPLocalizedString(@"AccessGallery")];
        return NO;
    }else{
        return YES;
    }
}

3、获取录音权限

+ (BOOL)getRecordState
{
    __block BOOL bCanRecord = YES;
    if ([[[UIDevice currentDevice] systemVersion] compare:@"7.0"] != NSOrderedAscending)
    {
        AVAudioSession *audioSession = [AVAudioSession sharedInstance];
        if ([audioSession respondsToSelector:@selector(requestRecordPermission:)]) {
            [audioSession performSelector:@selector(requestRecordPermission:) withObject:^(BOOL granted) {
                bCanRecord = granted;
            }];
        }
    }
    return bCanRecord;
}

0 0
原创粉丝点击