Flutter iOS构建遇不支持架构及排除架构后新构建错误
Flutter iOS 架构不匹配链接错误修复方案
彻底清理Flutter与iOS项目缓存
先在Flutter项目根目录执行以下命令,清空旧缓存和依赖文件:flutter clean rm -rf ios/Pods rm -rf ios/Podfile.lock rm -rf ios/.symlinks rm -rf ios/Flutter/Flutter.framework rm -rf ios/Flutter/Flutter.podspec再重新拉取依赖并安装Pod:
flutter pub get cd ios pod install --repo-update修正Podfile的架构配置
打开ios/Podfile,在post_install块中添加iOS架构限制,避免编译Mac Catalyst/macOS版本的依赖:post_install do |installer| installer.pods_project.targets.each do |target| flutter_additional_ios_build_settings(target) # 限定仅编译iOS相关架构 target.build_configurations.each do |config| config.build_settings['EXCLUDED_ARCHS[sdk=iphonesimulator*]'] = 'arm64' config.build_settings['SUPPORTED_PLATFORMS'] = 'iphoneos iphonesimulator' config.build_settings['VALID_ARCHS'] = 'arm64 x86_64' end end end保存后重新执行
pod install生效。调整Xcode项目的架构设置
打开ios/Runner.xcworkspace,选中Runner target,进入Build Settings:- 搜索
Excluded Architectures:Debug和Release模式下,仅给iphonesimulator设置排除arm64,不要全量排除架构 - 搜索
Build Active Architecture Only:Debug设为Yes,Release设为No - 搜索
Valid Architectures,确保包含arm64 x86_64 - 检查
Base SDK是否为最新iOS版本,若不是则切换到最新
- 搜索
解决OrderedSet.framework缺失问题
- 撤销之前全量排除架构的操作,仅保留模拟器的arm64排除
- 执行
pod deintegrate后再pod install,强制重新生成Pod框架文件 - 进入Xcode的Build Phases -> Link Binary With Libraries,检查OrderedSet.framework是否存在,缺失的话从
ios/Pods/OrderedSet/Frameworks目录手动添加
检查工具版本兼容性
- 更新CocoaPods到最新稳定版:
sudo gem install cocoapods - 执行
flutter doctor,检查Flutter与Xcode版本是否匹配,按提示更新对应组件
- 更新CocoaPods到最新稳定版:
重置Xcode构建状态
关闭Xcode,执行命令清理Xcode缓存:rm -rf ~/Library/Developer/Xcode/DerivedData rm -rf ~/Library/Caches/com.apple.dt.Xcode重新打开项目,按
Command+Shift+K清理构建文件夹,再重新编译
内容的提问来源于stack exchange,提问作者LessComplexity
相关产品推荐
相关产品推荐

