M4芯片MacBook运行Flutter项目遇Xcode编译错误:Flutter.h缺失
解决M4 MacBook上Flutter归档时'smart_auth'模块编译错误(找不到Flutter/Flutter.h)
以下是针对该问题的可行解决方案,按顺序尝试:
彻底清理缓存与依赖
在项目根目录依次执行命令,清除旧的缓存和Pod依赖:flutter clean rm -rf ios/Pods rm ios/Podfile.lock rm -rf ~/.pub-cache/hosted/pub.dev/smart_auth-2.0.0重新拉取依赖并安装Pods:
flutter pub get cd ios pod install --repo-update说明:M系列芯片的ARM架构可能与缓存的x86架构插件文件冲突,彻底清理后重新拉取可解决路径或适配问题。
检查Xcode中Flutter框架引用
打开ios/Runner.xcworkspace,在Xcode中操作:- 选中Runner项目,进入
Build Phases->Link Binary With Libraries,确认存在Flutter.framework,缺失则点击+从ios/Flutter目录添加。 - 进入
Build Settings,搜索Framework Search Paths,确保包含$(inherited)和$(PROJECT_DIR)/Flutter,并设置为recursive。
- 选中Runner项目,进入
调整Podfile的架构适配
打开ios/Podfile,在post_install代码块中添加ARM64适配配置: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['ARCHS[sdk=iphonesimulator*]'] = 'arm64' config.build_settings['ONLY_ACTIVE_ARCH'] = 'NO' end end end保存后重新执行
pod install,再尝试归档。升级或替换smart_auth插件版本
当前使用的smart_auth 2.0.0可能存在M系列芯片兼容性问题:- 修改
pubspec.yaml中插件版本为最新稳定版,执行flutter pub get更新。 - 若升级无效,可尝试使用插件的最新Git版本,替换pubspec中的依赖配置为对应的Git地址和分支。
- 修改
通过Xcode直接归档
打开ios/Runner.xcworkspace:- 选择
Generic iOS Device作为目标设备。 - 执行
Product->Clean Build Folder清理构建目录。 - 点击
Product->Archive尝试归档。
- 选择
内容的提问来源于stack exchange,提问作者Gentjan Shtjefni
相关产品推荐
相关产品推荐

