@@ -165,16 +165,20 @@ public class QRView:NSObject,FlutterPlatformView {
165165 return
166166 }
167167 let bytes = { ( ) -> Data ? in
168- switch ( code. descriptor) {
169- case let qrDescriptor as CIQRCodeDescriptor :
170- return qrDescriptor. errorCorrectedPayload
171- case let aztecDescriptor as CIAztecCodeDescriptor :
172- return aztecDescriptor. errorCorrectedPayload
173- case let pdf417Descriptor as CIPDF417CodeDescriptor :
174- return pdf417Descriptor. errorCorrectedPayload
175- case let dataMatrixDescriptor as CIDataMatrixCodeDescriptor :
176- return dataMatrixDescriptor. errorCorrectedPayload
177- default :
168+ if #available( iOS 11 . 0 , * ) {
169+ switch ( code. descriptor) {
170+ case let qrDescriptor as CIQRCodeDescriptor :
171+ return qrDescriptor. errorCorrectedPayload
172+ case let aztecDescriptor as CIAztecCodeDescriptor :
173+ return aztecDescriptor. errorCorrectedPayload
174+ case let pdf417Descriptor as CIPDF417CodeDescriptor :
175+ return pdf417Descriptor. errorCorrectedPayload
176+ case let dataMatrixDescriptor as CIDataMatrixCodeDescriptor :
177+ return dataMatrixDescriptor. errorCorrectedPayload
178+ default :
179+ return nil
180+ }
181+ } else {
178182 return nil
179183 }
180184 } ( )
@@ -190,7 +194,7 @@ public class QRView:NSObject,FlutterPlatformView {
190194 }
191195 return [ " code " : stringValue, " type " : typeString, " rawBytes " : safeBytes]
192196 } ( )
193- guard let safeResult = result else { continue }
197+ guard result != nil else { continue }
194198 if allowedBarcodeTypes. count == 0 || allowedBarcodeTypes. contains ( code. type) {
195199 self ? . channel. invokeMethod ( " onRecognizeQR " , arguments: result)
196200 }
0 commit comments