Swift3 iOS -Firebase FIREmailPasswordAuthProvider不工作 [英] Swift3 iOS -Firebase FIREmailPasswordAuthProvider Not Working

查看:169
本文介绍了Swift3 iOS -Firebase FIREmailPasswordAuthProvider不工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我刚刚将我的Firebase Cocoapods从3.15.0升级到4.0.4,并将FirebaseAuth Cocoapods从3.1.1升级到4.0.0。我使用电子邮件和放大器;密码来验证用户。当用户更改他们的电子邮件时,我在下面使用这个方法,一切工作正常:

$ p $ FIREmailPasswordAuthProviderID.credential(withEmail:emailTextField。 text !, password:passwordTextField.text!)

现在我更新了错误信息


类型'String'的值没有成员'凭证'

我查看了

$

 FIREmailAuthProviderID.credential(withEmail: emailTextField.tex t !,密码:passwordTextField.text!)




字符串'没有成员'凭证'


我的原始代码

 导入Firebase 
导入FirebaseAuth

让用户:用户?

让凭证= FIREmailPasswordAuthProviderID.credential(withEmail:emailTextField.text !,密码:passwordTextField.text!)

如果let user = user {
user.reauthenticate (with:credential,completion:{
(error)in
if error!= nil {
//...do something
return
}
//... do something else
})
}

我做错了什么?

解决方案



FIREmailAuthProviderID 是一个包含auth提供者id的常量,并且是一个字符串(在FB 4中为EmailAuthProviderID)。没有凭证功能,这就是为什么你得到这个错误。

这是一个链接到 Firebase 4移植指南

新格式(以及正确的函数调用)是
$ b


EmailAuthProvider.credential(带电子邮件:字符串,密码:
字符串) - > AuthCredential


20171014编辑:更新了最新迁移指南链接。


I just upgraded my Firebase Cocoapods from 3.15.0 to 4.0.4 and FirebaseAuth Cocoapods from 3.1.1 to 4.0.0.

I'm using email & password to authenticate users. When a user changes their email I was using this method below and everything was working fine:

FIREmailPasswordAuthProviderID.credential(withEmail: emailTextField.text!, password: passwordTextField.text!)

Now that I updated I get the error message

Value of type 'String' has no member 'credential'

I looked on the docs and it said to use the method below:

The problem is I get the same exact error:

FIREmailAuthProviderID.credential(withEmail: emailTextField.text!, password: passwordTextField.text!)

Value of type 'String' has no member 'credential'

My original code below

import Firebase
import FirebaseAuth

let user: User?

let credential = FIREmailPasswordAuthProviderID.credential(withEmail: emailTextField.text!, password: passwordTextField.text!)

        if let user = user{
            user.reauthenticate(with: credential, completion: {
                (error) in
                if error != nil{
                    //...do something
                    return
                }
                //...do something else
            })
        }

What am I doing wrong?

解决方案

Hold up

FIREmailAuthProviderID is a constant that contains the auth providers id and is a string (which is EmailAuthProviderID in FB 4). There is no credential function which is why you are getting that error.

Here's a link to the Firebase 4 Migration Guide

The new format (and the correct function call) is

EmailAuthProvider.credential(withEmail email: String, password: String) -> AuthCredential

20171014 Edit: updated link to latest migration guide.

这篇关于Swift3 iOS -Firebase FIREmailPasswordAuthProvider不工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆