IOS 的 Firebase 条码扫描器

Firebase Barcode Scanner for IOS

所以我正在尝试为我的 IOS 应用程序使用 Firebase 的条码扫描 API。一切 运行 没有错误(目前),但我不确定一旦图片发送到 .detect 函数后如何访问条形码信息。

在 firebase 网站上的文档中说:“如果条形码识别操作成功,检测器 returns 一个 VisionBarcode 对象数组。每个 VisionBarcode 对象代表在图像中检测到的条形码。 “

有人可以帮助我了解如何访问条形码数组吗?下面我在文档(我从中获取代码)和我的代码图片中包含了 link。

Code

https://firebase.google.com/docs/ml-kit/ios/read-barcodes#swift_7

    func scanBarcode(userImage: UIImage){
    print("SCAN")
    let format = VisionBarcodeFormat.all
    let barcodeOptions = VisionBarcodeDetectorOptions(formats: format)
    var vision = Vision.vision()
    let barcodeDetector = vision.barcodeDetector(options: barcodeOptions)
    let visionImage = VisionImage(image: userImage)
    barcodeDetector.detect(in: visionImage) { features, error in
      guard error == nil, let features = features, !features.isEmpty else {
      //  print(barcodes)
        return
      }
        print("unsuccesful scan")
      // ...
    }
    
}

你成功扫描的逻辑有点不对:你需要在你的守卫之后打印特征

func scanBarcode(userImage: UIImage){
    print("SCAN")
    let format = VisionBarcodeFormat.all
    let barcodeOptions = VisionBarcodeDetectorOptions(formats: format)
    var vision = Vision.vision()
    let barcodeDetector = vision.barcodeDetector(options: barcodeOptions)
    let visionImage = VisionImage(image: userImage)
    barcodeDetector.detect(in: visionImage) { features, error in
        guard error == nil, let features = features, !features.isEmpty else {
            print("unsuccessful scan, either there is an error, or features is empty")
            return
        }
        print("successful scan")
        print(features)
        // ...
     }
}