IOS催化剂avcapturedevice无法实现扫描二维码的功能它发生在卡特琳娜

问题描述

IOS催化剂avcapturedevice无法实现扫描二维码功能。它发生在卡特琳娜。如何实现uiimagepickercontroller扫描二维码功能

  1. 这是Catalina的错误报告 错误域=AVFoundationErrorDomain Code=-11814 "无法录制" UserInfo={NSLocalizedDescription=无法录制,NSLocalizedRecoverySuggestion=再次尝试录制。}

  2. 有网友表示可以使用uiimagepickercontroller来扫描二维码。如何实现?

Error Domain=AVFoundationErrorDomain Code=-11814 "Cannot Record"

解决方法

1.This is how I solved it. Judge avcapturedevice.

'AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo]; if (device == nil && [del isRunningOnMacOSX]) { [self initImagePickerController];返回; }'

2.Get QR code content after taking photos

(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<UIImagePickerControllerInfoKey,id> *)info { UIImage *pickedImage = info[UIImagePickerControllerEditedImage] ?: info[UIImagePickerControllerOriginalImage]; CIImage *detectImage = [CIImage imageWithData:UIImagePNGRepresentation(pickedImage)]; CIDetector *detector = [CIDetector detectorOfType:CIDetectorTypeQRCode context:nil options:@{CIDetectorAccuracy: CIDetectorAccuracyLow}]; CIQRCodeFeature *feature = (CIQRCodeFeature *)[detector featuresInImage:detectImage options:nil].firstObject; [picker dismissViewControllerAnimated:YES completion:^{ if (feature.messageString) { [self onConnectionOrLicenseScanned:feature.messageString]; } }]; }