我正在使用Firebase的预建登录UI进行我的应用程序的身份验证,并且使用Facebook,Google和电子邮件/密码身份验证可以使它们全部运行一段时间。 然后出于某种奇怪的原因,我测试过的每台设备上的“使用电子邮件登录”按钮都消失了。
这是我用来显示“登录”屏幕的代码:
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)
}
这是我的登录屏幕子类,以便对其进行自定义(最终):
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
}
}
任何帮助将不胜感激!
答案 0 :(得分:0)
更新了pod之后,我不得不在pod文件中明确包含pod FirebaseUI / Email,而在不需要之前。 包括在内解决了这个问题。
答案 1 :(得分:0)
就我而言,在加入pod 'FirebaseUI/Email'
之后,我还必须更新provider数组:
let providers = [FUIGoogleAuth(), FUIEmailAuth()]
authUI?.providers = providers