Я думаю, что когда вы определяете String
, вы определяете объект. Поэтому вам нужно использовать .equals()
. Когда вы используете примитивные типы данных, вы используете ==
, но с String
(и любым объектом) вы должны использовать .equals()
.
Это работает с текущей версией 5:
override func viewDidLoad() {
super.viewDidLoad()
handle = Auth.auth().addStateDidChangeListener({ (auth, user) in
if user == nil {
if let authUI = FUIAuth.defaultAuthUI() {
authUI.delegate = self
let providers: [FUIAuthProvider] = [
FUIEmailAuth(),
]
authUI.providers = providers
let provider = authUI.providers.first as! FUIEmailAuth;
provider.signIn(withPresenting: self, email: nil);
}
}
else{
self.userLbl.text = user?.displayName
}
})
}
Это исправлено. Кажется, реализация изменилась.
override func viewDidLoad() {
super.viewDidLoad()
handle = Auth.auth().addStateDidChangeListener({ (auth, user) in
if user == nil {
if let authUI = FUIAuth.defaultAuthUI() {
authUI.delegate = self
let authViewController = authUI.authViewController()
self.present(authViewController, animated: true, completion: {})
}
}
else{
self.userLbl.text = user?.displayName
}
})
}
И вернуться к предыдущей версии:
pod 'Firebase/Core', '<5'
pod 'Firebase/Firestore', '<5'
pod 'FirebaseUI', '<5'