iOS 第一次安装应用,拒绝相机调用,页面卡死的解决方案

void (^allowBlock)() = ^{

UIImagePickerController *imagePicker = [[UIImagePickerController
alloc]
init];

imagePicker.delegate =
self;

imagePicker.allowsEditing =
YES;

imagePicker.sourceType =
UIImagePickerControllerSourceTypeCamera;

if (iOS8) {

imagePicker.modalPresentationStyle =
UIModalPresentationCurrentContext;

}

UIViewController *ctl = [[[UIApplication
sharedApplication]
windows]lastObject].rootViewController;

[ctl presentViewController:imagePicker
animated:YES
completion:nil];

};

NSString *mediaType =
AVMediaTypeVideo;//读取媒体类型

AVAuthorizationStatus authStatus = [AVCaptureDevice
authorizationStatusForMediaType:mediaType];//读取设备授权状态

if (authStatus ==
AVAuthorizationStatusNotDetermined) {

[AVCaptureDevice
requestAccessForMediaType:AVMediaTypeVideo
completionHandler:^(BOOL granted) {

dispatch_async(dispatch_get_main_queue(), ^{

if (granted) {

//第一次用户接受

allowBlock();

}else{

//用户拒绝

showAlert(@"已拒绝授权,打开相机失败");

}

});

}];

return;

}

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

showAlert(@"相机权限受限,请在设置中启用");

return;

}

allowBlock();

上一篇:KVM | centos 安装 window 虚拟机


下一篇:一起KVM环境下windows7虚拟机异常死机(BSOD)的问题解决