【问题标题】:Barcode scanning exclude AVmetadaTypeFace条码扫描排除 AVmetadaTypeFace
【发布时间】:2016-11-15 14:15:14
【问题描述】:

我正在使用 AVFoundation 开发条码扫描器应用。我的应用程序成功捕获了条形码数据,但在检测到 FaceObjectType 时崩溃。我们如何排除这种类型的检测以防止崩溃?

我正在使用这个:

captureMetadataOutput.metadataObjectTypes = [captureMetadataOutput availableMetadataObjectTypes];

【问题讨论】:

  • 扫描条形码或二维码时如何避开faceObject?

标签: ios barcode metadatatype


【解决方案1】:

有点晚了,但我认为它会帮助有同样问题的人。 为了防止崩溃,您需要处理 AVMetadataObject(https://developer.apple.com/documentation/avfoundation/avmetadataobject),所以我对此的建议如下(swift 3.0)

for metadataObject in metadataObjects {
     if (metadataObject as AnyObject).type == AVMetadataObjectTypeFace {
                return
            }
        }

【讨论】:

    【解决方案2】:

    您将使用此修复支持的对象类型

      NSArray *supportedType =[NSArray arrayWithObjects:
                             AVMetadataObjectTypeCode39Code,
                             AVMetadataObjectTypeCode39Mod43Code,
                             AVMetadataObjectTypeCode93Code,
                             AVMetadataObjectTypeCode128Code,
                             AVMetadataObjectTypeEAN8Code,
                             AVMetadataObjectTypeEAN13Code,
                             AVMetadataObjectTypeAztecCode,
                             AVMetadataObjectTypePDF417Code,
                             AVMetadataObjectTypeQRCode, nil];
    
    captureMetadataOutput.metadataObjectTypes = supportedType;
    

    而不是

    captureMetadataOutput.metadataObjectTypes = [captureMetadataOutput availableMetadataObjectTypes];
    

    这会有所帮助。

    【讨论】:

      【解决方案3】:
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-01-11
      • 1970-01-01
      • 1970-01-01
      • 2020-12-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多