Xcode12.5.1 arm64架构未定义符号报错 原有解决方案失效如何解决
修复方案
1. 修正架构配置
- 移除所有你之前加到「Excluded Architectures」中的
arm64配置,需要同时检查Runner主项目和Pods子项目的所有构建模式(Debug、Release、Profile)、所有目标设备(模拟器、真机)的配置,确保没有遗漏 - 确认「Build Active Architecture Only」配置:Debug模式设为
YES,Release模式设为NO - 关闭Bitcode:所有目标的「Enable Bitcode」配置统一设为
NO
2. 清理缓存并重建依赖
完全退出Xcode后,在Flutter项目根目录依次执行以下命令:
# 清理旧的iOS依赖和缓存 rm -rf ios/Pods rm ios/Podfile.lock rm -rf ~/Library/Developer/Xcode/DerivedData # 清理Flutter构建缓存 flutter clean flutter pub get # 重新安装iOS依赖 cd ios pod install --repo-update
构建时必须打开
Runner.xcworkspace文件,不要打开Runner.xcodeproj,否则会出现依赖找不到的问题。
3. 修正Podfile全局配置
在你的ios/Podfile末尾的post_install代码块中,添加统一的架构配置,确保所有Pods子依赖的架构设置一致:
post_install do |installer| installer.pods_project.targets.each do |target| flutter_additional_ios_build_settings(target) target.build_configurations.each do |config| # 仅排除过时的i386架构,不要排除arm64 config.build_settings['EXCLUDED_ARCHS[sdk=iphonesimulator*]'] = 'i386' config.build_settings['ENABLE_BITCODE'] = 'NO' end end end
4. 修复tflite依赖兼容问题
官方原版tflite插件已经停止维护,存在iOS arm64架构适配缺陷,如果上述步骤执行后仍然报错,直接将依赖替换为社区维护的tflite_flutter包,重新执行依赖安装即可。
内容的提问来源于stack exchange,提问作者Dia
相关产品推荐
相关产品推荐

