Swift3 iOS -Firebase FIREmailPasswordAuthProvider no funciona

Acabo de actualizar mi Firebase Cocoapods de 3.15.0 a 4.0.4 y FirebaseAuth Cocoapods de 3.1.1 a 4.0.0.

Estoy usando correo electrónico y contraseña para autenticar a los usuarios. Cuando un usuario cambia su correo electrónico, estaba usando este método a continuación y todo funcionaba bien:

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

Ahora que actualicé recibo el post de error

El valor del tipo 'String' no tiene cnetworkingencial de miembro

Miré en los documentos y dijo usar el siguiente método:

introduzca la descripción de la imagen aquí

El problema es que obtengo el mismo error exacto:

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

El valor del tipo 'String' no tiene cnetworkingencial de miembro

Mi código original a continuación

 import Firebase import FirebaseAuth let user: User? let cnetworkingential = FIREmailPasswordAuthProviderID.cnetworkingential(withEmail: emailTextField.text!, password: passwordTextField.text!) if let user = user{ user.reauthenticate(with: cnetworkingential, completion: { (error) in if error != nil{ //...do something return } //...do something else }) } 

¿Qué estoy haciendo mal?

Sostener

FIREmailAuthProviderID es una constante que contiene el ID de los proveedores de authentication y es una cadena (que es EmailAuthProviderID en FB 4). No hay una function de cnetworkingencial y es por eso que está recibiendo ese error.

Aquí hay un enlace a la Guía de migration de Firebase 4

El nuevo formatting (y la llamada de function correcta) es

EmailAuthProvider.cnetworkingential (con correo electrónico de correo electrónico: String, contraseña: String) -> AuthCnetworkingential

20171014 Edición: enlace actualizado a la última guía de migration.

No he utilizado esta function de fireBase, pero parece que este enlace puede ser útil.

https://firebase.google.com/docs/reference/ios/firebaseauth/api/reference/Classes/FIREmailAuthProvider

Creo que necesita usar EmailAuthProviderID en lugar de FIREmailAuthProviderID. En Firebase 4.0 ya no utiliza el sufijo FIR.

Espero que te ayude 🙂

    Intereting Posts