Unity 编辑器中的 Firebase 初始化失败

Sid*_*rth 5 unity-game-engine firebase

对于我的 Unity 游戏项目的Firebase设置,我从一开始就遵循本教程:

Unity 中的 Firebase 入门 (2019) - Firecast

视频中有一段用于初始化Firebase SDK 的代码:

void Start()
{
    FirebaseApp.CheckAndFixDependenciesAsync().ContinueWith(continuationAction: task =>
    {
        FirebaseAnalytics.SetAnalyticsCollectionEnabled(true);
    });
}
Run Code Online (Sandbox Code Playgroud)

现在,当我在 Unity 编辑器中按下播放按钮时,我立即收到此错误对话框: 在此输入图像描述

在不同的对话框上多次按下取消按钮后,我在控制台中收到这些错误。 在此输入图像描述

我在这个过程中做错了什么,我无法理解!所以请指导我解决这个问题。

小智 18

扩展@HamidYusifli的答案:

这是 Catalina 的一项安全功能,与 Firebase 框架混合在一起,但未以其喜欢的方式进行签名。解决方案是一个三步过程。

首先运行并得到那个非常烦人的对话框。点击取消就可以了。你可能需要经常这样做。 无法打开显示“FirebaseCppApp-6_13_0.bundle”的对话框,因为无法验证开发人员

如果您点击“移至垃圾箱”,Firebase 将无法在 Unity 编辑器中运行(.bundle包含本机 C++ 逻辑的 MacOS 版将不存在)。

接下来,打开系统偏好设置: Apple 菜单中的系统偏好设置

选择“安全和隐私”: 系统偏好设置菜单,“安全和隐私”周围有一个框

在“常规”下,确保“允许从 App Store 下载应用程序和已识别的开发人员”(在单击左下角的解锁按钮之前,此选项将显示为灰色),然后为 FirebaseCppApp-6_13_0.bundle 选择“仍然允许”。 在“安全和隐私”对话框中选择“常规”和“无论如何允许”

我不知道“允许从App Store下载应用程序并识别开发者”是否有必要,但我已经设置了。

最后,在 Unity 编辑器中再次运行游戏。您现在将有一个“打开”选项: 带有打开选项的对话框

如果你点击它,你应该可以开始了。

这里需要注意的是:对于 MacOS Catalina、Unity 和 Firebase 的某些版本,我不得不再次停止并启动游戏。我最近不必这样做,但请注意,您可能需要再次切换播放。

根据我的经验,每个项目你必须跳一次这个舞蹈。尽管您必须多次点击“取消”,但似乎一旦您进行了一次批准,它就会一直存在。

我希望这能有所帮助,原来的答案是准确的。

哦,还有一点。这绕过了苹果的一项安全保护措施(你基本上是说运行这个 C 代码,我相信开发者)。我是 Firebase 的开发者倡导者,所以我当然非常同意让 Firebase 做它的事情,并且我认为如果您使用 SDK,您已经对它有某种隐含的信任。您没有授予 Firebase root 访问权限或类似的权限,但您正在计算机上运行二进制代码(您可以在此处检查其中的 C++ 部分)。您应该像对待在计算机上运行的任何其他可执行文件一样对待开发库,并确保您信任该 SDK,然后再按照这些步骤进行任何其他集成。


0xB*_*1A8 2

只需进入Mac 上的安全设置,您就会看到Firebase被阻止,因为它有不受信任的开发人员。让它在那里,让一切顺利进行。