就在剛剛,沒錯(cuò)就是剛才,由于程序最初取消了相機(jī)的訪問權(quán)限,然后當(dāng)掃描二維碼的時(shí)候,訪問相機(jī)直接crash。摸不著頭腦,然后就去百度上百度crash原因。然后百度到了解決方法,特別筆記一下。
因?yàn)槲沂潜罎⒌搅诉@句
_output.metadataObjectTypes=@[AVMetadataObjectTypeQRCode];
所以在AVCaptureMetadataOutput設(shè)置metadataObjectTypes的前邊加了個(gè)判斷,問題就這樣解決了。
NSString*mediaType =AVMediaTypeVideo;
AVAuthorizationStatusauthStatus = [AVCaptureDeviceauthorizationStatusForMediaType:mediaType];
if(authStatus ==AVAuthorizationStatusRestricted|| authStatus ==AVAuthorizationStatusDenied){
UIAlertView*alert =[[UIAlertViewalloc]initWithTitle:@"提示"message:@"請?jiān)趇Phone的“設(shè)置”-“隱私”-“相機(jī)”功能中,找到“某某應(yīng)用”打開相機(jī)訪問權(quán)限"delegate:selfcancelButtonTitle:@"確定"otherButtonTitles:nil];
[alert show];
return;
}