我要求 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)
}()
我的班级已经宣布了这两个代表:
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!
吗?