无法配置Firebase InstanceID
嗨,我正在尝试在我的应用程序中包含firebase并按照文档,当我尝试google登录时,无法配置Firebase InstanceID错误发生。请告知如何克服此错误
您必须添加您创建的项目
https://developers.google.com/mobile/add?platform=ios或将Fire Base控制台导入Firebase信息中心。
现在,您可以从Firebase下载GoogleService-Info.plist并导入到您的项目中。
有两件事要检查(希望有人会为你解决):
- 确保您的Fireleage项目中的BundleIdentifier与Xcode中的完全相同,即com。[yourcompany]。[yourappname]
- 确保您获得了最新的GoogleService-Info.plist文件。 转到Firebase控制台 – >设置 – >您的应用程序 – 右侧会有一个蓝色按钮,可让您下载新的配置文件
这解决了我。
错误细节
从版本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
)。 这将允许应用程序成功配置。
我使用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)。