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

TesseractOCRiOS框架导入及使用中的多类问题求助

解决Tesseract-OCR-iOS在Xcode14.2(M2 Pro)上的集成问题

针对你遇到的四个集成问题,逐个给出解决方案:

1. Carthage安装后提示"No such module 'TesseractOCR'"

  • 执行Carthage命令时指定iOS平台,避免编译其他平台产物:
    carthage update --use-xcframeworks --platform iOS
    
  • 打开项目Build Settings,搜索Framework Search Paths,添加路径$(SRCROOT)/Carthage/Build/iOS,并设置为recursive
  • 不要手动添加Carthage/Build/Static/iOS下的静态框架,改用Carthage生成的TesseractOCR.xcframework,直接拖到项目的Frameworks, Libraries, and Embedded Content中

2. 模拟器构建时架构冲突报错

M系列芯片的模拟器为arm64架构,与真机arm64产生冲突,正确设置方式:

  • 打开项目Build Settings,搜索Excluded Architectures
  • 点击"+",选择Any iOS Simulator SDK,添加arm64(仅针对模拟器排除,真机目标不要设置)
  • 同时确保Build Settings中的VALID_ARCHS(若存在),模拟器设为x86_64 arm64,真机设为arm64

3. 实例化Tesseract时出现"Undefined symbol error"

这个错误是缺少依赖库导致的,按以下步骤检查:

  • 确认Build Phases的Link Binary With Libraries中添加了以下系统库:
    • libz.tbd
    • libpng.tbd
    • libjpeg.tbd
    • libc++.tbd
  • 如果使用静态框架,还需手动添加libtesseract.a和libleptonica.a(Carthage的xcframework已包含这些,无需额外添加)
  • 检查tessdata文件夹的添加方式:选择Create folder references(而非Create groups),并确保该文件夹在Build Phases的Copy Bundle Resources中
  • 不要将静态框架设置为"Embed & Sign",静态框架只需"Do Not Embed"

4. Pod安装仍出现类似错误

  • 确保Podfile中指定最新稳定版本:
    pod 'TesseractOCRiOS', '~> 5.0'
    
  • 执行pod install --repo-update后,必须打开项目的.xcworkspace文件(不要打开.xcodeproj)
  • 在Podfile中添加架构兼容配置,避免模拟器冲突:
    post_install do |installer|
      installer.pods_project.targets.each do |target|
        target.build_configurations.each do |config|
          if config.sdk_name&.include?('simulator')
            config.build_settings['EXCLUDED_ARCHS'] = 'arm64'
          end
        end
      end
    end
    
  • 执行pod install生效配置,再重新构建项目

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 18:33:25