Estoy usando la interfaz de usuario de inicio de sesión preconstruida de Firebase para la autenticación de mi aplicación y todo funcionó durante un tiempo usando Facebook, Google y la autenticación de correo electrónico/contraseña. Luego, por alguna extraña razón, el botón Iniciar sesión con correo electrónico desapareció en todos los dispositivos con los que pruebo.
Aquí hay una foto del dispositivo: 
Y aquí están las instrucciones para habilitar el inicio de sesión por correo electrónico desde los documentos de Firebase: 
Que es exactamente lo que hice: 
Aquí está el código que estoy usando para mostrar la pantalla de inicio de sesión:
override func viewDidAppear(_ animated: Bool) { super.viewDidAppear(animated) if Auth.auth().currentUser == nil { let providers: [FUIAuthProvider] = [ FUIGoogleAuth(), FUIFacebookAuth(), ] authUI!.providers = providers self.showLoginScreen() } func showLoginScreen() { authViewController = authUI!.authViewController() self.present(authViewController, animated: true, completion: nil) } func authPickerViewController(forAuthUI authUI: FUIAuth) -> FUIAuthPickerViewController { return LoginViewController(authUI: authUI) }Y aquí está mi subclase para la pantalla de inicio de sesión para personalizarla (eventualmente):
class LoginViewController: FUIAuthPickerViewController { override init(nibName: String?, bundle: Bundle?, authUI: FUIAuth) { super.init(nibName: "FUIAuthPickerViewController", bundle: bundle, authUI: authUI) } required init?(coder aDecoder: NSCoder) { super.init(coder: aDecoder) } override func viewDidLoad() { super.viewDidLoad() } override func viewWillAppear(_ animated: Bool) { super.viewWillAppear(animated) //self.title = "" self.view.backgroundColor = UIColor.red }}
¡Cualquier ayuda sería apreciada!
Después de actualizar mis pods, tuve que incluir explícitamente el pod FirebaseUI/Email en mi archivo pod, mientras que antes no lo necesitaba. Incluyendo eso solucionó el problema.
En mi caso, después de incluir el pod 'FirebaseUI/Email' , también tuve que actualizar mi matriz de proveedores:
let providers = [FUIGoogleAuth(), FUIEmailAuth()] authUI?.providers = providers