I'm using Firebase's pre-built login UI for my app's authentication and had it all working for a while using Facebook, Google, and email/password auth. Then for some odd reason the Sign in with Email button disappeared on every device I test with.
And here are the directions to enable email login from the Firebase docs:

Here's the code I'm using to show the Login screen:
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)
}
And here's my subclass for the login screen in order to customize it (eventually):
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
}
}
Any help would be appreciated!
After I updated my pods, I had to explicitly include pod FirebaseUI/Email in my pod file whereas before I didn't need it. Including that fixed the issue.
In my case after I included the pod 'FirebaseUI/Email', I had to update my providers array as well:
let providers = [FUIGoogleAuth(), FUIEmailAuth()]
authUI?.providers = providers