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

Unity集成Firebase Analytics构建Xcode项目时遇Undefined symbol错误

解决Unity导出Xcode后Firebase Analytics LogEvent引发的Undefined symbol错误

问题核心

项目集成ARCore、Firebase、Facebook SDK,此前双端构建正常。添加Firebase Analytics埋点代码FirebaseAnalytics.LogEvent(FirebaseAnalytics.EventScreenView, new Parameter(FirebaseAnalytics.ParameterScreenName, "000_IntroScene"));后,Android正常但Xcode报Undefined symbol错误,移除代码则恢复。环境:MacOS 12.4、Unity 2021.3.1f1、Xcode 13.4.1、Firebase 9.1.0(已尝试升级至9.6.0、替换./Assets/Firebase/Editor目录无效)

可行解决方案

1. 排查iOS依赖链接完整性

  • 打开Unity Package Manager,确认Firebase Analytics包的iOS资源完整,导出Xcode后检查Pods目录下是否存在FirebaseAnalytics框架
  • 在Xcode项目的Build Phases -> Link Binary With Libraries中,确认libFirebaseAnalytics.a或FirebaseAnalytics.framework已添加,若缺失则手动从Pods目录导入

2. 关闭Unity的代码剥离或添加强制加载标记

  • 进入Unity Player Settings -> iOS -> Other Settings,关闭Strip Engine Code选项,重新导出Xcode尝试构建
  • 若关闭后正常,可针对性保留Firebase符号:在Xcode的Other Linker Flags中添加-force_load $(SRCROOT)/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.framework/FirebaseAnalytics(路径根据实际Pod安装位置调整)

3. 彻底清理缓存重新构建

  • 关闭Xcode,删除项目目录下的DerivedData文件夹,删除Pods目录后执行pod install重新安装依赖
  • Unity端执行Assets -> Clear Cache,删除Library、Temp目录,重新导出Xcode项目

4. 修正代码写法避免平台编译混淆

  • 确保代码引用完整命名空间,修改为:
    Firebase.Analytics.FirebaseAnalytics.LogEvent(
        Firebase.Analytics.FirebaseAnalytics.EventScreenView,
        new Firebase.Analytics.Parameter(Firebase.Analytics.FirebaseAnalytics.ParameterScreenName, "000_IntroScene")
    );
    
    避免因命名空间缺失导致iOS编译时找不到符号

5. 调整Firebase版本适配Unity LTS

  • 尝试降级Firebase至8.10.0版本,该版本与Unity 2021 LTS系列兼容性经过验证,可能解决高版本SDK的符号导出问题

内容的提问来源于stack exchange,提问作者Zero Chan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 21:39:36