无法配置Firebase InstanceID

嗨,我正在尝试在我的应用程序中包含firebase并按照文档,当我尝试google登录时,无法配置Firebase InstanceID错误发生。请告知如何克服此错误

您必须添加您创建的项目

https://developers.google.com/mobile/add?platform=ios或将Fire Base控制台导入Firebase信息中心。

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

有两件事要检查(希望有人会为你解决):

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

这解决了我。

错误细节

从版本3.13.0Firebase/Core SDK中似乎存在错误。

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

解决方法

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

我使用FIROptions在代码中设置了Firebase。 在我的情况下,我缺少gcmSenderID ,修复它然后它的工作原理

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

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

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

从最新的Firebase Core 3.16.0开始 – 我似乎需要将它包含在我的主项目中,以及将版本复制到我的Test Root中。

当您将Google SDK集成从一个帐户转移到另一个帐户并且不在应用程序端编辑API密钥时,也会发生这种情况。

确保当您从一个谷歌帐户转移到另一个谷歌帐户时,您再次访问所有SDK指南,如FCM,Google登录等,并确保您在应用程序中使用新的API密钥(client_id,URI Scheme)。