无法配置 Firebase InstanceID

Posted

技术标签:

【中文标题】无法配置 Firebase InstanceID【英文标题】:Could not configure Firebase InstanceID 【发布时间】:2016-12-02 22:34:00 【问题描述】:

您好,我正在尝试在我的应用中包含 firebase 并遵循文档,当我尝试进行 google 登录时,出现 错误。请建议如何克服此错误

【问题讨论】:

【参考方案1】:

有两件事需要检查(希望可以为您解决):

    确保您的 BundleIdentifier 在 Firebase 项目中与在 Xcode 中的完全相同,即 com.[yourcompany].[yourappname] 确保您获得了最新的 GoogleService-Info.plist 文件。转到 Firebase 控制台 -> 设置 -> 您的应用程序 - 右侧会有一个蓝色按钮,可让您下载新的配置文件

这为我解决了。

【讨论】:

谢谢!我只需要再次下载 .plist 文件就可以了 :)【参考方案2】:

错误详情

截至3.13.0 版本,Firebase/Core SDK 中似乎存在错误。

我在-[FIRInstanceID(FIRApp) configureInstanceIDWithOptions:app:] 添加了一个符号断点,并逐步通过了程序集。 FIRApp.configure() 似乎忽略了 GoogleServices-Info.plist 中的 IS_GCM_ENABLED 标志,并尝试配置 GCM 而不管标志的状态如何。就我而言,因为我的项目不使用 GCM,所以应用程序会崩溃,因为 plist 中没有 GCM_SENDER_ID

解决方法

GoogleService-Info.plist 文件中为GCM_SENDER_ID 添加一个虚拟值(即123456789012)。这将允许应用程序成功配置。

【讨论】:

【参考方案3】:

您必须添加在

上创建的项目

https://developers.google.com/mobile/add?platform=ios 或将基本控制台启动到您的 Firebase 信息中心。

现在您可以从 Firebase 下载 GoogleService-Info.plist 并导入到您的项目中。

【讨论】:

【参考方案4】:

我使用 FIROptions 在代码中设置 Firebase。就我而言,我错过了gcmSenderID,修复它然后它就可以工作了

【讨论】:

【参考方案5】:

Firebase DevRel 在这里。这应该是一个错误,除非您启用了 gcm,否则您不应该通过 instanceid 设置。内部归档。

目前,解决方法是在“GoogleService-Info.plist”文件中手动将“IS_GCM_ENABLED”更改为“NO”

【讨论】:

【参考方案6】:

我收到此错误是因为我的测试文件夹中也没有我的GoogleService-Info.plist。 (如果您使用的是 TDD)

从最新的 Firebase Core 3.16.0 开始 - 我似乎需要将它包含在我的主项目中,并将一个版本复制到我的测试根目录中。

【讨论】:

【参考方案7】:

当您将 google SDK 集成从一个帐户转移到另一个帐户并且未在应用程序端编辑 API 密钥时,也会发生这种情况。确保当您从一个 Google 帐户转移到另一个帐户时,您重新- 再次访问所有 SDK 指南,如 FCM、Google 登录等,并确保您在应用程序中使用新的 API 密钥(client_id、URI 方案)。

【讨论】:

以上是关于无法配置 Firebase InstanceID的主要内容,如果未能解决你的问题,请参考以下文章

无法在 angularjs App 中配置 Firebase 云消息传递。

无法配置 Firebase InstanceID

Flutter 上的 Firebase 错误:无法解析配置“:firebase_core:debugCompileClasspath”的所有任务依赖项

无法为 Unity IOS 配置 Firebase 应用

firebase 无法解析 android 应用程序模块的 gradle 配置

在没有应用程序互联网的情况下启动时无法读取本地 Firebase 远程配置 plist