集成Firebase的Unity项目Xcode归档时出现Undefined symbols错误
解决Unity集成Firebase后Xcode归档出现Undefined symbols错误的方案
针对性排查与解决步骤
重新校验CocoaPods依赖
尽管构建正常,但归档流程可能未正确加载Pod依赖。进入Xcode项目所在目录,执行以下命令重置Pods:pod deintegrate pod install操作完成后关闭Xcode,重新打开项目的
.xcworkspace文件,再尝试归档。调整Unity iOS构建参数
- 打开Unity编辑器,进入
Edit > Project Settings > Player > iOS,在Other Settings中将Scripting Backend设置为IL2CPP(Firebase对IL2CPP的归档兼容性更稳定)。 - 若开启了
Strip Engine Code,可能误删Firebase符号。可暂时关闭该选项测试归档,或在Linker Target中手动添加Firebase相关的保留符号。 - 确认
Architecture仅勾选ARM64,Xcode 14+已淘汰32位架构,多架构共存易引发符号冲突。
- 打开Unity编辑器,进入
修正Xcode归档配置
- 在Xcode的
Build Settings中搜索Dead Code Stripping,将Debug和Release模式均设为NO,防止归档时移除必要的Firebase符号。 - 搜索
Other Linker Flags,确保包含-ObjC参数(Firebase依赖该标志加载静态库的类别与符号),缺失则手动添加。 - 检查
Framework Search Paths,确认Firebase相关框架的路径无缺失或错误。
- 在Xcode的
匹配SDK与Unity版本兼容性
当前Firebase 10.0.1与Unity 2021.3.7f1可能存在版本适配问题。可尝试降级Firebase SDK至9.x系列(Unity 2021.x官方推荐的稳定兼容版本),或升级Unity到2021.3的最新补丁版本后重新导出项目测试。清理构建缓存
删除Xcode的Derived Data(路径:Xcode > Preferences > Locations > Derived Data),同时清空Unity项目的Library和Temp目录,重新导出Xcode项目后再执行归档。
内容的提问来源于stack exchange,提问作者Scozirge2
相关产品推荐
相关产品推荐

