Все QR-коды определяют уровень исправления ошибок, определяемый двумя «битами / пикселями» в левом нижнем углу (см. здесь .). Хотя я знаю, как сканировать QR-коды в Swift, я не знаю, как получить исправление ошибок для кода, который я сканирую.
Это необходимо, потому что наше приложение пытается сканировать, а затем воссоздать отсканированный QR-код программно.
Вот наш текущий код, в котором мы получили уведомление об успешном сканировании QR-кода, но я не вижу способа получить подробности QR-спецификации c, только результаты успешного сканирования ...
extension QRCodeScannerViewController : AVCaptureMetadataOutputObjectsDelegate {
func metadataOutput(_ output: AVCaptureMetadataOutput, didOutput metadataObjects: [AVMetadataObject], from connection: AVCaptureConnection) {
guard let metadataObject = metadataObjects.first,
let readableObject = metadataObject as? AVMetadataMachineReadableCodeObject,
let stringValue = readableObject.stringValue else {
return
}
captureSession.stopRunning()
performSegue(withIdentifier: "ShowResults", sender: stringValue)
}
}
Просматривая документы, я также вижу CIQRCodeDescriptor
(https://developer.apple.com/documentation/coreimage/ciqrcodedescriptor), что имеет то значение, которое мы ищем, но я не уверен, как получить экземпляр для проверки.