Unity 中的 Firebase / Google VR 链接器错误 - iOS
Posted
技术标签:
【中文标题】Unity 中的 Firebase / Google VR 链接器错误 - iOS【英文标题】:Firebase / Google VR linker error in Unity - iOS 【发布时间】:2020-06-21 18:19:30 【问题描述】:我正在使用 unity (v2019.1.0f2) 和 firebase (v6.0) 和 Google VR (v1.200) 构建 ios 应用。当我使用一个空项目并添加 firebase 时,它会成功构建。如果我单击虚拟现实支持,它会在我构建时导入内容。我在 Xcode 中遇到以下问题
Undefined symbol: _OBJC_CLASS_$_FIRPhoneAuthCredential
Undefined symbol: _OBJC_CLASS_$_FIRGameCenterAuthProvider
Undefined symbol: _OBJC_CLASS_$_GKLocalPlayer
Undefined symbol: _OBJC_CLASS_$_FIRPhoneAuthProvider
Undefined symbol: _OBJC_CLASS_$_FIROAuthProvider
Undefined symbol: _OBJC_CLASS_$_FIRFacebookAuthProvider
Undefined symbol: _OBJC_CLASS_$_FIREmailAuthProvider
Undefined symbol: _OBJC_CLASS_$_FIRGoogleAuthProvider
Undefined symbol: _OBJC_CLASS_$_FIRGitHubAuthProvider
Undefined symbol: _OBJC_CLASS_$_FIRTwitterAuthProvider
Undefined symbol: _OBJC_CLASS_$_FIRAuth
知道为什么吗?
【问题讨论】:
【参考方案1】:您似乎缺少与 FirebaseAuthentication 相关的 CocoaPods。有几点需要检查:
-
确保打开生成的工作区(默认设置)而不是生成的项目:
-
接下来,您需要确保
Podfile
存在于构建输出目录中,并且它具有必要的 pod。对于我的带有“Firebase 身份验证”和“Firebase 实时数据库”的示例项目,我的 Podfile
看起来像:
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '10.0'
target 'UnityFramework' do
pod 'Firebase/Auth', '6.24.0'
pod 'Firebase/Core', '6.24.0'
pod 'Firebase/Database', '6.24.0'
end
here 可以查看您需要哪些 pod 文件,但 External Dependency Manager for Unity (EDM4U) 应该已经为您处理了这个问题。所以首先我会确保它已安装和配置。
然后我会检查是否有Podfile
。如果有,另一个扩展可能已经用自己的覆盖了 Firebase 依赖项。理想情况下,他们会使用 EDM4U(我写了一篇关于 here 的文章),但您可以修改他们的流程以引入 CocoaPod 依赖项或重新添加 Firebase 作为构建过程的一部分。
如果根本没有 Podfile,您需要确保有一个“Unity 的外部依赖管理器”包:
或Assets/
目录下的文件夹。
您还需要确保在进行 iOS 构建时没有任何构建问题(它们可能不会出现在编辑器的正常停止/停止循环中)并且您没有旧版“Play服务解析器”文件夹。
您可能还想尝试通过 EDM4U 菜单手动安装 CocoaPods:
如果您最近迁移到 MacOS Catalina,或者完全 uninstall 然后重新安装 cocoapods cocoapods。
我希望这些解决方案之一有所帮助!
--帕特里克
【讨论】:
以上是关于Unity 中的 Firebase / Google VR 链接器错误 - iOS的主要内容,如果未能解决你的问题,请参考以下文章
无法从 Android 上 Unity 中的 Firebase 快照获取“空”值
Unity 中的 Google Firebase 身份验证:如何读取错误代码