一般当应用在第一次访问相机的时候 系统都会弹出一个提示框,提示用户是否允许访问相机。
可是假如我们拒绝访问相机,或者在隐私-相机设置里面关闭了应用权限时,再次进入就会直接黑茫茫一片,不会再出现提示框。
那么,如何判断用户的相机权限状况呢?
下面是一句向系统请求访问相机的代码
[AVCaptureDevice requestAccessForMediaType:AVMediaTypeVideo completionHandler:^(BOOL granted) {
NSLog(@"111");
}];
一般这个是系统默认的,所以不需要我们手动添加,只是稍微了解一下。
进入正题,首先获取相机访问权限状况
AVAuthorizationStatus authStatus = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeVideo];
然后判断用户的权限
if(authStatus == AVAuthorizationStatusAuthorized)
{
NSLog(@"允许状态");
}
else if (authStatus == AVAuthorizationStatusDenied)
{
NSLog(@"不允许状态,可以弹出一个alertview提示用户在隐私设置中开启权限");
}
else if (authStatus == AVAuthorizationStatusNotDetermined)
{
NSLog(@"系统还未知是否访问,第一次开启相机时");
}