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

Mac M1下Flutter 2.5 iOS调试报symbol(s) not found for architecture arm64错误

解决方案

核心问题为离职同事开发的自定义iOS插件未适配M1芯片对应的arm64模拟器架构,且Flutter 2.5版本收紧了架构校验规则,导致链接阶段符号查找失败。你可以按照以下步骤逐一排查解决:

步骤1:修改自定义插件的podspec配置

找到该自定义插件本地存放路径下的ios/[插件名称].podspec文件,更新架构相关配置:

s.pod_target_xcconfig = {
  'DEFINES_MODULE' => 'YES',
  'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'i386',
  'VALID_ARCHS' => 'arm64 arm64e x86_64'
}
s.user_target_xcconfig = {
  'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'i386'
}

如果插件的iOS部分使用预编译的静态库(.a/.framework格式)而非源码,需要先校验静态库是否包含arm64架构切片:

  • 执行命令查看静态库支持的架构:
    lipo -info 你的静态库文件完整路径
  • 若输出结果中无arm64字段,需要使用插件源码重新编译包含arm64模拟器切片的静态库,合并后替换插件内原静态库文件即可。

步骤2:更新主项目Podfile配置

打开项目根目录下的ios/Podfile,在post_install代码块中添加全局架构配置:

post_install do |installer|
  installer.pods_project.targets.each do |target|
    flutter_additional_ios_build_settings(target)
    # 新增架构适配代码
    target.build_configurations.each do |config|
      config.build_settings['EXCLUDED_ARCHS[sdk=iphonesimulator*]'] = 'i386'
      config.build_settings['ARCHS[sdk=iphonesimulator*]'] = 'arm64 x86_64'
      config.build_settings['BUILD_LIBRARY_FOR_DISTRIBUTION'] = 'YES'
    end
  end
end

步骤3:清空缓存重新构建

依次执行以下命令清理缓存并重建依赖:

flutter clean
rm -rf ios/Pods ios/Podfile.lock
flutter pub get
cd ios && pod install --repo-update

命令执行完成后打开Xcode,选择顶部菜单栏Product > Clean Build Folder,再运行项目即可。

临时调试方案

如果需要临时快速启动项目调试,可右键点击应用程序中的Xcode,勾选「使用Rosetta打开」,重启Xcode后即可正常运行。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 13:42:00