1

カメラを使用するのではなく、カードの写真を見るように Microblink ケア リーダーに依頼しています。

lazy var blinkCardRecognizer: MBCBlinkCardRecognizer = {
    return MBCBlinkCardRecognizer()
}()
lazy var recognizerCollection: MBCRecognizerCollection = {
    blinkCardRecognizer.extractCvv = false
    blinkCardRecognizer.extractIban = false
    blinkCardRecognizer.extractExpiryDate = false
    
    let recognizerList = [blinkCardRecognizer]
    return MBCRecognizerCollection(recognizers: recognizerList)
}()

私のクラスは、次の 2 つのデリゲートを宣言しています。

MBCBlinkCardOverlayViewControllerDelegate, MBCScanningRecognizerRunnerDelegate

私はこの関数に正しいUIImageを渡していると確信しており、processImage呼び出しに到達します:

func prepareToReadImage(_ theImage: UIImage?) {
    let recognizerRunner: MBCRecognizerRunner = MBCRecognizerRunner(recognizerCollection: recognizerCollection)
    recognizerRunner.scanningRecognizerRunnerDelegate = self
    
    var image: MBCImage? = nil
    if let anImage = theImage {
        image = MBCImage(uiImage: anImage)
    }
    image?.cameraFrame = true
    image?.orientation = MBCProcessingOrientation.left
    let _serialQueue = DispatchQueue(label: "com.microblink.DirectAPI-sample-swift")
    _serialQueue.async(execute: {() -> Void in
        recognizerRunner.processImage(image!)
    })
}

しかし、このコールバックはヒットしていません:

func recognizerRunner(_ recognizerRunner: MBCRecognizerRunner, didFinishScanningWith state: MBCRecognizerResultState) {
    if state == .valid {
        print (state)
    }
}

そうでない理由がわかりますか?ログの警告が表示されても問題はありYou are using time-limited license key!ませんか?

4

1 に答える 1