执行flutter run遇XCode错误:__swift_FORCE_LOAD_$_swiftCompatibility56
解决Flutter运行时XCode报错:Undefined symbol: _swift_FORCE_LOAD$_swiftCompatibility56
方案1:对齐Podfile与XCode的Swift版本
XCode14.2默认搭载Swift 5.7,你当前Podfile里强制设置的SWIFT_VERSION = '5.7.2'可能导致版本冲突。修改Podfile的post_install代码块:
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['IPHONEOS_DEPLOYMENT_TARGET'] = '12.0' # 改为XCode14.2对应的Swift版本 config.build_settings['SWIFT_VERSION'] = '5.7' end end end
修改后依次执行命令:
cd ios pod deintegrate pod install flutter clean flutter run
方案2:统一Runner Target的Swift版本配置
- 用XCode打开项目的
ios/Runner.xcworkspace文件 - 选中左侧的Runner target,切换到Build Settings标签页
- 搜索
Swift Language Version,确认设置为Swift 5.7 - 同时检查Pods项目下所有子target的Swift版本,确保和Runner保持一致
方案3:手动添加Swift兼容性库
如果前两个方案无效,尝试手动引入兼容性库:
- 在Runner target的Build Phases中,找到Link Binary With Libraries
- 点击
+按钮,搜索libswiftCompatibility56.a(或包含swiftCompatibility的相关库),添加到列表中 - 清理项目缓存后重新运行
方案4:排查Flutter及依赖库兼容性
- 执行
flutter doctor检查Flutter版本是否适配XCode14.2(Flutter 3.3及以上版本基本支持) - 查看项目依赖的第三方库,更新到支持Swift 5.7和XCode14.2的最新版本
内容的提问来源于stack exchange,提问作者Rajat
相关产品推荐
相关产品推荐

