Mac M1设备编译Flutter项目Xcode提示Module not found错误求助
Flutter M1芯片Mac Xcode Module not found 问题解决思路
- 检查架构排除配置:打开Xcode项目的Runner目标,进入Build Settings页面,找到
Excluded Architectures配置项,确认Any iOS Simulator SDK下已添加arm64值,同时进入Pods项目,将所有子Target的Excluded Architectures配置同步为相同规则,避免模拟器架构搜索冲突。 - 强制x86_64模式重建Pods依赖:依次执行以下命令:
flutter clean rm -rf ios/Pods ios/Podfile.lock ios/Runner.xcworkspace flutter pub get cd ios arch -x86_64 pod install --repo-update
执行完成后重新打开Runner.xcworkspace编译,避免pod安装时生成M1架构不兼容的依赖配置。
- 校验编译搜索路径:进入Runner目标的Build Settings页面,找到
Header Search Paths配置项,确认${PODS_ROOT}/Headers/Public已加入列表且搜索权限为递归,同时检查Build Phases下的Compile Sources列表,确认GeneratedPluginRegistrant.m已正常引入且无特殊编译标记。 - 核对模块名称大小写:如果报错的模块是自定义开发的Flutter插件,确认插件podspec文件中定义的模块名称,和
GeneratedPluginRegistrant.m中引用的名称大小写完全一致。M1芯片Mac默认启用APFS大小写敏感格式,Intel架构Mac多为大小写不敏感,会出现Intel环境正常、M1环境找不到模块的兼容性问题。 - 切换编译目标验证:先切换Xcode的运行目标为真机/模拟器测试,确认是否为特定运行目标的架构依赖缺失导致报错,同时保证Xcode使用的编译配置(Debug/Release)和Android Studio侧一致,避免因编译模式差异导致依赖产物缺失。
内容的提问来源于stack exchange,提问作者Alessandro
相关产品推荐
相关产品推荐

