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

M1芯片Mac迁移Flutter项目后GoogleMapsBase、Flutter.h缺失报错

M1芯片Mac运行Flutter iOS项目Flutter/Flutter.h缺失问题解决方案
  • 第一步:清理全链路缓存
    先完全退出Xcode,依次执行以下命令清理缓存和旧构建产物:
    rm -rf ~/Library/Developer/Xcode/DerivedData
    
    回到项目根目录执行:
    flutter clean
    rm -rf ios/Pods ios/Podfile.lock
    
  • 第二步:修正Podfile架构配置
    绝大多数该报错都是之前为了兼容谷歌地图,错误配置了全局排除arm64架构的规则,导致Flutter.framework的arm64版本被拦截。打开ios/Podfile,在末尾的post_install块补充以下逻辑,仅给谷歌地图相关依赖单独配置排除规则:

    post_install do |installer|
    installer.pods_project.targets.each do |target|
    flutter_additional_ios_build_settings(target)
    # 仅对谷歌地图相关依赖排除模拟器arm64架构,不要全局配置
    if target.name == 'google_maps_flutter' || target.name.include?('GoogleMaps')
    target.build_configurations.each do |config|
    config.build_settings['EXCLUDED_ARCHS[sdk=iphonesimulator*]'] = 'arm64'
    end
    end
    end
    end
    注意:不要在Xcode的Runner全局Build Settings里手动添加EXCLUDED_ARCHS=arm64的规则,也不要在Podfile最上层加全局架构排除配置

  • 第三步:重新安装依赖
    用开启了Rosetta转译的终端进入项目ios目录,执行:
    pod install --repo-update
    
  • 第四步:重新生成Flutter iOS构建产物
    回到项目根目录执行:
    flutter build ios --debug --no-codesign
    
    完成后打开Xcode执行一次构建,确认没有报错后再用VSCode启动调试即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 18:18:00