升级Xcode15后Android Studio运行Flutter iOS模拟器构建失败如何解决
Xcode输出信息:
链接错误:路径/Users/macbook/Desktop/dis_or_dat/ios/Pods/mobile-ffmpeg-audio/lame.framework/lame(VbrTag.o)中的文件是为iOS真机构建的,当前构建目标为iOS模拟器,该lame文件不支持模拟器arm64架构
clang:错误:链接器命令执行失败,退出码1(添加-v参数可查看完整调用日志)
提示:使用新构建系统
提示:正在规划构建任务
提示:构建准备完成
提示:并行构建多个目标
/Users/macbook/Desktop/dis_or_dat/ios/Pods/Pods.xcodeproj:警告:iOS模拟器部署目标IPHONEOS_DEPLOYMENT_TARGET设置为8.0,当前Xcode支持的部署目标版本范围为9.0到15.0.99(来自Pods项目的FMDB目标)
问题根因
- 架构不匹配错误:
mobile-ffmpeg-audio依赖内置的lame.framework未提供arm64架构iOS模拟器切片,Apple Silicon芯片的Mac上Xcode15默认优先编译arm64架构的模拟器产物,链接时匹配到仅支持真机arm64的二进制文件,触发报错。Xcode单独启动模拟器正常是因为Xcode内手动配置过排除arm64模拟器架构的规则,Android Studio调用Flutter编译时未同步该配置。 - 部署版本警告:Pod依赖
FMDB的最低部署目标设置为8.0,低于Xcode15支持的最低9.0阈值。
解决方案
步骤1:自动配置规则(优先推荐,无需手动修改Xcode配置)
在Flutter项目ios/Podfile文件末尾添加以下代码,可在每次执行pod install时自动完成所有配置:
post_install do |installer| installer.pods_project.targets.each do |target| target.build_configurations.each do |config| # Debug模式下iOS模拟器排除arm64架构,解决架构不匹配问题 if config.name == 'Debug' config.build_settings['EXCLUDED_ARCHS[sdk=iphonesimulator*]'] = 'arm64' end # 统一所有Pod依赖最低部署版本为9.0,解决版本警告 config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '9.0' end end end
步骤2:清理缓存重新构建
在Flutter项目根目录依次执行以下命令:
# 清理Flutter构建缓存 flutter clean # 进入iOS目录清理旧Pod依赖 cd ios rm -rf Pods Podfile.lock # 重新安装Pod依赖并应用配置 pod install
执行完成后重启Android Studio,重新启动iOS模拟器运行项目即可恢复正常。
内容的提问来源于stack exchange,提问作者david omu
相关产品推荐
相关产品推荐

