You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AVFoundation中Codabar条码扫描失效问题求助

Codabar条码扫描无法识别的排查方案

针对你用AVFoundation添加Codabar扫描后无效的问题,可按以下步骤排查:

  • 检查枚举常量的正确性
    你代码里写的AVMetadataObject.codabar是错误的,正确的枚举值应该归属AVMetadataObject.ObjectType枚举,修正后的数组应该是:

    private let barcodeTypes: [AVMetadataObject.ObjectType] = [
        .code39,
        .codabar,
        .code128,
        .qr
    ]
    
  • 确认系统版本支持
    AVFoundation从iOS 15.0、macOS 12.0、tvOS 15.0开始才正式支持Codabar扫描,仅升级Xcode没用,必须确保测试设备的系统版本达标。

  • 验证Codabar条码的合规性
    Codabar条码要求必须包含指定的起始/终止符(A、B、C、D中的一种),AVFoundation的扫描逻辑对格式要求严格,若测试用条码缺少这些符号或格式不符合标准,会无法识别。

  • 重新配置元数据输出并重启会话
    修改条码类型数组后,需确保在AVCaptureMetadataOutput上重新设置metadataObjectTypes,并且重启捕获会话让配置生效:

    // 假设已创建captureSession和metadataOutput实例
    metadataOutput.metadataObjectTypes = barcodeTypes
    captureSession.stopRunning()
    captureSession.startRunning()
    

内容的提问来源于stack exchange,提问作者Brian

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 09:50:54