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

Flutter集成flutter_tesseract_ocr遇iOS模拟器架构错误求助

问题解答:Flutter集成flutter_tesseract_ocr的iOS编译错误

错误含义

这个错误是因为你使用的是M系列芯片的Mac,默认iOS模拟器采用arm64架构,但flutter_tesseract_ocr依赖的SwiftyTesseract库只编译了x86_64架构的模拟器版本,导致编译器找不到对应arm64-apple-ios-simulator的模块,从而编译失败。

解决方法

方法1:通过Xcode配置排除模拟器arm64架构

  1. 打开Flutter项目中ios目录下的Runner.xcworkspace
  2. 在左侧导航栏选中Runner target,切换到Build Settings标签页
  3. 搜索Excluded Architectures,展开配置项:
    • 选择Debug配置,点击+按钮,添加arm64到iOS Simulator对应的架构列表中
  4. 搜索Valid Architectures,确保包含x86_64和arm64(Xcode 12+默认已配置)
  5. 打开ios/Podfile,在末尾添加以下脚本,强制让所有Pod在模拟器Debug模式下排除arm64:
post_install do |installer|
  installer.pods_project.targets.each do |target|
    flutter_additional_ios_build_settings(target)
    target.build_configurations.each do |config|
      if config.name == 'Debug' && config.build_settings['SDKROOT'] == 'iphonesimulator'
        config.build_settings['EXCLUDED_ARCHS[sdk=iphonesimulator*]'] = 'arm64'
      end
    end
  end
end
  1. 在终端进入ios目录,执行pod install,然后回到Flutter项目执行flutter clean && flutter run

方法2:让模拟器以Rosetta模式运行(M系列Mac)

  1. 打开iOS模拟器,点击顶部菜单栏Hardware > Use Rosetta for x86_64 Simulation
  2. 重启模拟器后,再次运行Flutter项目,此时模拟器会以x86_64架构运行,匹配SwiftyTesseract的支持版本

方法3:Android Studio中快速操作

  1. 在Android Studio的Terminal中依次执行:
flutter clean
flutter pub get
cd ios
pod install --repo-update
cd ..
flutter run

(如果之前已经配置了Podfile脚本,此步骤可配合方法1使用)

是否影响真机运行?

完全不影响。真机采用的是arm64架构,SwiftyTesseract库本身包含了真机的arm64编译版本,所以真机编译和运行不会出现这个问题,该错误仅存在于M系列Mac的模拟器环境中。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 09:10:55