[英]Firebase / Google VR linker error in Unity - iOS
我正在使用 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
知道为什么吗?
您似乎缺少与 FirebaseAuthentication 相关的 CocoaPods。 有几件事需要检查:
Podfile
存在于构建 output 目录中,并且它具有必要的 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
您可以在此处查看您需要哪些 pod 文件,但Unity 的外部依赖管理器 (EDM4U)应该已经为您处理了这个问题。 所以首先我要确保它已经安装和配置。
然后我会检查是否有Podfile
。 如果有,另一个扩展可能已经用自己的依赖项覆盖了 Firebase 依赖项。 理想情况下,他们会使用 EDM4U(我在这里写了一篇关于此的文章),但您可以修改他们的流程以引入 CocoaPod 依赖项,或者在构建过程中重新添加 Firebase。
如果根本没有 Podfile,您需要确保有一个“Unity 的外部依赖管理器”package:
或Assets/
目录下的文件夹。
您还需要确保在构建 iOS 时没有任何构建问题(它们可能不会出现在编辑器的正常停止/停止周期中)并且您没有旧版“播放服务解析器”文件夹。
您可能还想尝试通过 EDM4U 菜单手动安装 CocoaPods:
或者,如果您最近迁移到 MacOS Catalina,则完全卸载然后重新安装 cocoapods cocoapods。
我希望这些解决方案之一有所帮助!
——帕特里克
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.