无法配置 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 云消息传递。
Flutter 上的 Firebase 错误:无法解析配置“:firebase_core:debugCompileClasspath”的所有任务依赖项