ios - AVFoundation 没有读取特定类型的条形码
问题描述
我正在构建一个支付停车罚单的应用程序。问题是我们有一种 AVFoundation 无法读取的特定类型的条形码。
我试图找到其他框架来替换 AVFoundation,但结果它们都在下面使用 AVFoundation。我发现能够读取它的唯一框架是 ZBar,但我们不打算使用它,因为它已经 6 年没有更新了。
你们知道为什么它不起作用吗?
图片链接https://i.stack.imgur.com/AEU0H.jpg
谢谢你。
allowedBarcodeTypes.add("org.iso.QRCode")
allowedBarcodeTypes.add("org.iso.PDF417")
allowedBarcodeTypes.add("org.gs1.UPC-E")
allowedBarcodeTypes.add("org.iso.Aztec")
allowedBarcodeTypes.add("org.iso.Code39")
allowedBarcodeTypes.add("org.iso.Code39Mod43")
allowedBarcodeTypes.add("org.gs1.EAN-13")
allowedBarcodeTypes.add("org.gs1.EAN-8")
allowedBarcodeTypes.add("com.intermec.Code93")
allowedBarcodeTypes.add("org.iso.Code128")
allowedBarcodeTypes.add("org.ansi.Interleaved2of5")
...
func metadataOutput(_ captureOutput: AVCaptureMetadataOutput, didOutput metadataObjects: [AVMetadataObject], from connection: AVCaptureConnection) {
// Check if the metadataObjects array is not nil and it contains at least one object.
if metadataObjects.count == 0 {
return
}
// Get the metadata object.
let metadataObj = metadataObjects[0] as? AVMetadataMachineReadableCodeObject
//videoPreviewLayer?.transformedMetadataObjectForMetadataObject(metadataObj)
if metadataObj != nil {
let barCode = Barcode.processMetadataObject(metadataObj)
for str in allowedBarcodeTypes{
if barCode?.getType() == str as? String && !didReadCode{
didReadCode = true
self.barCode = barCode?.getData() ?? ""
self.stopRunning()
if let navController = self.navigationController {
delegate?.getScannedCode(scannerNavigationController: navController, code: self.barCode)
}
return
}
}
if didReadCode == false {
self.invalidBarcodeFound()
}
return
}
}
解决方案
推荐阅读
- socket.io - NativeScript 和 SocketIO:找不到变量:SocketManager
- java - Spring 控制器向 AngularJS 应用程序的请求返回 415
- java - 应用小部件在某些设备中无法连接到服务器
- java - 为什么位置在 android 10 的应用程序中不起作用?
- apache-kafka - Kafka 连接在 docker 中找不到代理
- javascript - 无法连接到我的 MongoDB 数据库,在 Mongodb Compass 上收到此错误“Server Selection Timed Out After 3000ms”
- forms - 使用 Razorpages 模型绑定时在发布后清除表单
- python - Python获取数字序列中2列之间的最小值最大值
- context-free-grammar - 这种任意语言中的“开始”和“结束”是否应该与 CFG 有关?
- android - 如何在底部导航栏 Android Studio 中添加外部网站链接