所以,从昨天起,我的一切都正常了。然后我登录了我的Firebase仪表板,有一个横幅建议我尝试新的Firebase控制台。“当然!听起来不错。”我想。
八小时后,我无法让谷歌登录工作。这是我的GIDSignInDelegate方法,它正确地触发了所有的东西。
func signIn(signIn: GIDSignIn!,
didSignInForUser user: GIDGoogleUser!,
withError error: NSError!) {
if (error == nil) {
let authentication = user.authentication
let credential = FIRGoogleAuthProvider.credentialWithIDToken(authentication.idToken,
accessToken: authentication.accessToken)
FIRAuth.auth()?.signInWithCredential(credential, completion: nil)
} else {
// Don't assert this error it is commonly returned as nil
print("\(error.localizedDescription)")
}
}问题似乎是,这并不能为
FIRAuth.auth()!.addAuthStateDidChangeListener在我的应用程序代表中。
当登录到Facebook时,它确实会触发auth状态更改侦听器。
我也尝试了一个完成块,用户是一个GIDGoogleUser,而不是一个看起来有点奇怪的FIRUser,但我没有证据证明这会是个问题。此外,错误为零。因此,看起来signInWithCredential正在工作,但是状态变化监听器没有启动。
我唯一能想到的就是谷歌的登录存在问题,因为我必须从Firebase控制台下载的新GoogleService-Info.plist的应用ID与我以前的GoogleService-Info.plist不同。我试着用我的旧应用来替换新的应用程序id,它根本不起作用。然后,我尝试删除对旧应用程序id的任何引用,前提是新的应用程序可以自动集成google登录。还是没有运气。
有人成功更新了吗?
发布于 2016-05-20 08:26:58
为我解决这个问题的是创建一个新的Firebase项目。
转到https://console.firebase.google.com并选择CREATE。在我的旧(升级)项目中,我尝试了我所能想到的一切,但我无法使它发挥作用。此外,在旧项目中添加一个新的iOS应用程序是不够的。
我知道对于一个生产应用程序来说,这是一个糟糕的选择,但由于我还在开发阶段,这对我来说并不是什么大事。
发布于 2016-05-20 06:07:24
我添加了“导入FirebaseAuth”,它成功了!我知道Firebase文档没有说要添加这个,但我决定尝试一下。
发布于 2016-05-27 15:25:40
您需要添加"Web配置“。你仍然需要进入它,即使你可能只有iOS应用程序!
有趣的是,你需要这样做,即使你可能只有iOS应用程序。
重新运行您的xCode项目。
https://stackoverflow.com/questions/37336130
复制相似问题