iOS开发判断是否开启摄像头权限
2017-05-10 16:39
441 查看
虽然iOS10添加了隐私权限提示,但是当我们拒绝开启权限后,再次调用就会出现崩溃问题,为了避免这个问题,我们可以在调用设备前判断是否开启了调用权限
当点击去设置时需要判断当前手机系统的版本,iOS10已经废弃了之前的方法
如果是iOS10以下,还要在info设置中添加配置,如下:
- (void)judgeCameraLimits{ /// 先判断摄像头硬件是否好用 if([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) { // 用户是否允许摄像头使用 NSString * mediaType = AVMediaTypeVideo; AVAuthorizationStatus authorizationStatus = [AVCaptureDevice authorizationStatusForMediaType:mediaType]; // 不允许弹出提示框 if (authorizationStatus == AVAuthorizationStatusRestricted|| authorizationStatus == AVAuthorizationStatusDenied) { [RMUtils alertWithTitle:@"" message:@"摄像头访问受限,前往设置" delegate:self tag:10 cancelButtonTitle:@"取消" otherButtonTitles:@"设置"]; }else{ // 这里是摄像头可以使用的处理逻辑 } } else { // 硬件问题提示 [RMUtils showAlertControllerWithMessage:@"请检查手机摄像头设备" onViewController:self]; } }
当点击去设置时需要判断当前手机系统的版本,iOS10已经废弃了之前的方法
if (buttonIndex == 1) { if ([RMUserInfo shareInstance].iosType == ios10) { [[UIApplication sharedApplication]openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]]; }else{ NSURL*url = [NSURL URLWithString:@"prefs:root=About"]; if ([[UIApplication sharedApplication] canOpenURL:url]){ [[UIApplication sharedApplication] openURL:url]; } } }
如果是iOS10以下,还要在info设置中添加配置,如下:
相关文章推荐
- iOS如何判断应用是否开启摄像头权限
- iOS开发检测是否开启定位、是否允许消息推送等权限
- iOS开发 判断用户是否开启了热点
- iOS开发(OC)——判断是否具有访问系统服务的权限
- iOS开发——判断用户是否开启了应用推送设置
- iOS开发 判断用户是否开启了定位
- iOS开发 判断用户是否开启了定位服务
- ios 判断用户是否开启权限---并跳转设置
- iOS开发检测是否开启定位、是否允许消息推送等权限的实例
- ios 判断用户是否开启定位权限并跳转设置
- IOS 开发中判断NSString是否为空字符
- IOS开发中判断文件是否存在,不存在则拷贝
- IOS开发判断在字符串中是否包含相应的字符
- IOS 开发中判断字符串是否为空字符的方法
- 【iOS开发】判断NSString中的字符是否为中文的正确方法
- [iOS]判断文件编译是否开启ARC
- IOS 开发中判断字符串是否为空字符的方法
- IOS开发中判断文件是否存在,不存在则拷贝[转]
- iOS开发有用代码(有判断邮箱格式是否正确的代码、图片压缩、亲测可用的图片上传代码和实现点击图片进行跳转的代码等。)
- 【ios开发】如何判断当前网络连接状态(网络是否正常)