集成Unity与Firebase时Xcode 15出现UnityFramework链接错误
问题描述
我正在开发一款集成Unity项目的iOS应用,但每次构建时UnityFramework都会持续出现错误,问题疑似与Firebase相关。
环境版本
- Unity编辑器版本:2022.3.10f1
- Firebase SDK版本:11.6.0
- Xcode版本:15.0.1
错误截图:
解决思路与建议
- 核对版本兼容性:Firebase 11.6.0与Xcode 15可能存在适配问题,可降级到Firebase 11.4.0(官方标注支持Xcode 15)或升级到最新稳定版,确保Unity、Firebase、Xcode三者版本匹配。
- 重新导入Firebase SDK包:删除Unity项目
Assets/Firebase目录,从Firebase控制台重新下载对应Unity版本的SDK包(勾选所需功能模块),导入后执行Assets > Play Services Resolver > iOS Resolver > Resolve,确保依赖项完整安装。 - 调整Xcode构建配置:
- 打开Unity导出的Xcode项目,找到UnityFramework target,将
Build Settings > Linking > Other Linker Flags里的-ObjC替换为-force_load $(PROJECT_DIR)/Frameworks/Firebase[对应模块].framework/Firebase[对应模块](示例:针对Analytics模块为-force_load $(PROJECT_DIR)/Frameworks/FirebaseAnalytics.framework/FirebaseAnalytics)。 - 将
Build Settings > Packaging > Enable Bitcode设为No,Firebase多数模块不支持Bitcode,Unity项目也默认关闭该选项。 - 确认
Build Settings > Deployment Target设置为iOS 12.0及以上(Firebase 11.x最低系统要求)。
- 打开Unity导出的Xcode项目,找到UnityFramework target,将
- 清理缓存文件:Unity端执行
File > Build Settings > Clean Build,删除Library目录后重启Unity重新导入资源;Xcode端执行Product > Clean Build Folder,删除~/Library/Developer/Xcode/DerivedData目录下的对应项目缓存。 - 检查Firebase配置文件:确保
GoogleService-Info.plist放在Unity项目Assets/StreamingAssets目录,Xcode导出后该文件需存在于UnityFramework的Resources目录中,且文件内的Bundle ID与Xcode项目的Bundle ID完全一致。
内容的提问来源于stack exchange,提问作者soyoungkim
相关产品推荐
相关产品推荐

