Firebase Unity-iOS的未定义符号错误

Firebase Unity-iOS的未定义符号错误,ios,xcode,firebase,unity3d,Ios,Xcode,Firebase,Unity3d,火基 6.15.2 统一 2019.4 Xcode 11.6 卡塔琳娜 10.15.6 你好 相对新手,如果我遗漏了任何明显的东西,我道歉 我正在尝试使用Firebase和cocoapods为iPhone构建一个unity项目。 我只在项目中使用Firestore。 在构建设备时,我不断遇到以下一组错误 Undefined symbol: firebase::auth::User::GetToken(bool) Undefined symbol: firebase::auth::AuthStat

火基 6.15.2

统一 2019.4

Xcode 11.6

卡塔琳娜 10.15.6

你好

相对新手,如果我遗漏了任何明显的东西,我道歉

我正在尝试使用Firebase和cocoapods为iPhone构建一个unity项目。 我只在项目中使用Firestore。 在构建设备时,我不断遇到以下一组错误

Undefined symbol: firebase::auth::User::GetToken(bool)
Undefined symbol: firebase::auth::AuthStateListener::~AuthStateListener()
Undefined symbol: firebase::auth::Auth::AddAuthStateListener(firebase::auth::AuthStateListener*)
Undefined symbol: firebase::auth::Auth::current_user()
Undefined symbol: firebase::g_auth_initializer
Undefined symbol: typeinfo for firebase::auth::AuthStateListener
Undefined symbol: firebase::auth::Auth::GetAuth(firebase::App*, firebase::InitResult*)
我已经尝试了本帖中的所有建议:

除了再一次把头撞在桌子上,我还不知道下一步该怎么办


任何指点都将不胜感激

Unity SDK需要记住的一点是,它与iOS SDK有很大的不同,因此特定的补丁可能会稍微影响游戏工具

导出时,应该自动生成一个
Podfile
,并为您运行install。因此,请确保直接进入
xcproj
工作区,而不是打开
xcproj
。例如,如果您在生成的项目上成功运行了
pod install
,那么cocoapod应该已经设置好了,这样就不会出现问题

现在你得到的链接器错误是C++ SDK的一部分。这是SDK的中间层:

|                Unity (C#)                                 |
|-----------------------------------------------------------|
|                   C++                                     |
|-------------------------------------------                |
| Android (Java/Kotlin) | iOS (ObjC/Swift) |  Desktop (C++) |
您在iOS上查找的这些文件是
资产/插件/iOS
中的
文件。如果未使用Unity软件包管理器,请确保未删除这些(
。a
是版本控制的常见排除模式)-如果已删除,请尝试重新添加SDK。对于Unity软件包管理器,它应该可以正常工作-您可以尝试在Unity关闭的情况下删除
目录,并让Unity重新生成它(在此过程中拉下软件包)。我相信您丢失的文件是
libFirebaseCppAuth.a
,尽管这里出现问题的原因可能会影响所需的其他
.a
文件

如果包含该文件,请确保它包含在iOS版本中:


如果有帮助的话,我会的

Unity SDK需要记住的一点是,它与iOS SDK有很大的不同,因此特定的补丁可能会稍微影响游戏工具

导出时,应该自动生成一个
Podfile
,并为您运行install。因此,请确保直接进入
xcproj
工作区,而不是打开
xcproj
。例如,如果您在生成的项目上成功运行了
pod install
,那么cocoapod应该已经设置好了,这样就不会出现问题

现在你得到的链接器错误是C++ SDK的一部分。这是SDK的中间层:

|                Unity (C#)                                 |
|-----------------------------------------------------------|
|                   C++                                     |
|-------------------------------------------                |
| Android (Java/Kotlin) | iOS (ObjC/Swift) |  Desktop (C++) |
您在iOS上查找的这些文件是
资产/插件/iOS
中的
文件。如果未使用Unity软件包管理器,请确保未删除这些(
。a
是版本控制的常见排除模式)-如果已删除,请尝试重新添加SDK。对于Unity软件包管理器,它应该可以正常工作-您可以尝试在Unity关闭的情况下删除
目录,并让Unity重新生成它(在此过程中拉下软件包)。我相信您丢失的文件是
libFirebaseCppAuth.a
,尽管这里出现问题的原因可能会影响所需的其他
.a
文件

如果包含该文件,请确保它包含在iOS版本中:


如果有帮助的话,我会的

我也遇到了同样的问题,通过在我的Unity项目中添加Firebase身份验证包解决了这个问题


我不在我的游戏中使用任何身份验证,所以这是一个解决我问题的变通方法。我认为Firebase core上有一个bug需要这些身份验证包。

我也遇到了同样的问题,通过在我的Unity项目中添加Firebase身份验证包解决了这个问题

我不在我的游戏中使用任何身份验证,所以这是一个解决我问题的变通方法。我认为Firebase core上有一个bug需要这些身份验证包