You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter iOS编译报错:Xcode中出现absl未定义符号问题

解决Flutter iOS构建中Abseil未定义符号问题

针对你遇到的absl::lts_20240116::CHexEscape等未定义符号链接错误,结合你的环境(Flutter 3.24.3、Xcode 15.3、CocoaPods 1.16.2,含Firebase依赖),可以尝试以下针对性方案:

1. 强制统一Abseil版本

Firebase依赖可能引入不同版本的Abseil导致冲突,在Podfile末尾添加以下代码锁定版本:

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['OTHER_LDFLAGS'] ||= []
      config.build_settings['OTHER_LDFLAGS'] << '-force_load $(PODS_ROOT)/Abseil/libabsl.a'
    end
  end
  installer.pod_targets.each do |pod|
    if pod.name.start_with?('absl')
      pod.version = '1.20240116.0'
    end
  end
end

执行pod install后重新构建。

2. 调整Xcode链接器设置

  • 打开Runner.xcworkspace,选择Runner目标进入Build Settings
  • 搜索Other Linker Flags,添加-ObjC(若仍报错可尝试追加-all_load,注意此选项可能引发其他冲突)
  • 搜索Dead Code Stripping,设置为NO

3. 彻底清理缓存

执行以下命令清除所有相关缓存:

flutter clean
rm -rf ios/Pods ios/Podfile.lock ios/Runner.xcworkspace
rm -rf ~/Library/Caches/CocoaPods
rm -rf ~/Library/Developer/Xcode/DerivedData
pod deintegrate
pod setup
pod install

完成后重启Xcode再尝试构建。

4. 对齐Firebase插件版本

在pubspec.yaml中指定与Flutter 3.24.3兼容的Firebase稳定版本,示例:

firebase_core: ^2.25.0
firebase_auth: ^4.17.8
# 其他Firebase插件同步匹配对应版本

执行flutter pub upgrade后重新执行pod install。

5. 降级CocoaPods版本

部分用户反馈CocoaPods 1.16.x与Xcode 15.3存在兼容性问题,可尝试降级到1.15.x:

sudo gem uninstall cocoapods
sudo gem install cocoapods -v 1.15.2

之后重新执行pod install。

内容的提问来源于stack exchange,提问作者Yasin G.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 14:47:04