あなたはappDelegate
内でこれを行うことによって、それを達成することができます
//Check if user does exists
func checkUserAgainstDatabase(completion: @escaping (_ success: Bool, _ error: NSError?) -> Void) {
guard let currentUser = FIRAuth.auth()?.currentUser else { return }
currentUser.getTokenForcingRefresh(true) { (idToken, error) in
if let error = error {
completion(false, error as NSError?)
print(error.localizedDescription)
} else {
completion(true, nil)
}
}
}
をそして、あなたはdidFinishLaunchingWithOptions
で上記の機能を確認した後にこのような何かを行うことができます。
ユーザーが存在しない場合:
self.window?.rootViewController = self.storyboard?.instantiateViewController(withIdentifier: "CustomTabBarViewController")
else:
self.window?.rootViewController = self.storyboard?.instantiateViewController(withIdentifier: "WelcomeViewController")
それが正常に機能したかどうかをテストするには、firebaseから認証マネージャーから手動でユーザーを手動で削除します。このように、ユーザーが削除された場合は、ウェルカム画面が表示されます。 Firebase 4.0と
は完璧なソリューションをありがとう! "error.localizedDescription"は "この識別子に対応するユーザーレコードがありません。ユーザーは削除されている可能性があります。" – reten
問題はありません:)助けてくれること - –
私には2つの質問があります。まず、これはオフラインでも動作しますか?ユーザーがオフラインの場合でも、引き続きアプリを使用できるようになります。次に、ユーザーが2つの異なるデバイスから接続されている場合、1つのデバイスからアカウントを削除します(一方のデバイスはまだ接続されています)。アカウントが削除されたことを他の端末にどのように通知しますか?デバイスはサインアウトします。 –