Просмотр исходного кода

Merge pull request #452 from juliuscanute/bug-ios-11-raw-bytes

bug: fix crash because of unsupported iOS version
flutter-beta
Julian Steenbakker 4 лет назад
committed by GitHub
Родитель
Сommit
f4bfabe62d
Не найден GPG ключ соответствующий данной подписи Идентификатор GPG ключа: 4AEE18F83AFDEB23
1 измененных файлов: 15 добавлений и 11 удалений
  1. +15
    -11
      ios/Classes/QRView.swift

+ 15
- 11
ios/Classes/QRView.swift Просмотреть файл

@@ -165,16 +165,20 @@ public class QRView:NSObject,FlutterPlatformView {
return
}
let bytes = { () -> Data? in
switch (code.descriptor) {
case let qrDescriptor as CIQRCodeDescriptor:
return qrDescriptor.errorCorrectedPayload
case let aztecDescriptor as CIAztecCodeDescriptor:
return aztecDescriptor.errorCorrectedPayload
case let pdf417Descriptor as CIPDF417CodeDescriptor:
return pdf417Descriptor.errorCorrectedPayload
case let dataMatrixDescriptor as CIDataMatrixCodeDescriptor:
return dataMatrixDescriptor.errorCorrectedPayload
default:
if #available(iOS 11.0, *) {
switch (code.descriptor) {
case let qrDescriptor as CIQRCodeDescriptor:
return qrDescriptor.errorCorrectedPayload
case let aztecDescriptor as CIAztecCodeDescriptor:
return aztecDescriptor.errorCorrectedPayload
case let pdf417Descriptor as CIPDF417CodeDescriptor:
return pdf417Descriptor.errorCorrectedPayload
case let dataMatrixDescriptor as CIDataMatrixCodeDescriptor:
return dataMatrixDescriptor.errorCorrectedPayload
default:
return nil
}
} else {
return nil
}
}()
@@ -190,7 +194,7 @@ public class QRView:NSObject,FlutterPlatformView {
}
return ["code": stringValue, "type": typeString, "rawBytes": safeBytes]
}()
guard let safeResult = result else { continue }
guard result != nil else { continue }
if allowedBarcodeTypes.count == 0 || allowedBarcodeTypes.contains(code.type) {
self?.channel.invokeMethod("onRecognizeQR", arguments: result)
}


Загрузка…
Отмена
Сохранить