2016-10-22 12 views
3

Firebaseのアカウントを削除すると自動的にユーザーがログアウトするのですか?
ログイン画面を削除した後に彼を見せたいのであれば、そのVCを提示するだけでいいですか?
私はこれを頼んでいます。私がこれを好きなら、クラッシュし、この時点でユーザーがもう存在しないからだと思います。

私はそうですか?Firebaseからアカウントを削除すると、自動的にユーザーがログアウトされますか?

一部explenationsとコード:

let user = FIRAuth.auth()?.currentUser 

user?.deleteWithCompletion { error in 
    if let error = error { 
    // An error happened. 
    } else { 
    try! FIRAuth.auth()!.signOut()//This is unnecessary? 

      let mainStoryboard: UIStoryboard = UIStoryboard(name:"Main",bundle:nil) 

      let WelcomeViewController: UIViewController = mainStoryboard.instantiateViewController(withIdentifier: "WelcomeViewController") 

      //Send the user to the WelcomeViewController 
      self.present(WelcomeViewController, animated: true, completion: nil) 
    // Account deleted. 
    } 
} 

答えて

4

あなたCurrentUserにあなたは二つのものの世話をする必要が削除されている場合: -

  • Firebaseデータベースからユーザーのデータを削除します。(存在する場合)
  • 認証を削除する資格情報(例: - 電子メールパスワード、Facebookのログインなどをさえずり)

    あなたはCMD +をクリックした場合はこれも最初の兆候のユーザー

    FIRAuth.auth()?.currentUser?.delete(completion: { (err) in 
    
        print(err?.localizedDescription) 
    
    }) 
    

    うち、現在のユーザーは、以下の機能を使用して削除するにはそれはそのマニュアルに行くことができます機能を削除します -

は、ユーザーアカウントを削除します(これは、現在のユーザーだった場合も、ユーザーをサインアウト)。

完了オプションで、アカウントの削除要求が完了したときに呼び出されたブロック、または失敗したブロック。将来メインスレッドで非同期に呼び出されます。

考えられるエラーコード: - @c FIRAuthErrorCodeRequiresRecentLogin - 電子メールの更新は、ユーザーからの最近のログインを必要とするセキュリティ上重要な操作です。このエラーは、ユーザーが最近に十分にサインインしていないことを示します。解決するには、FIRUserでreauthenticateWithCredential:completion:を呼び出して、ユーザーを再認証します。

すべてのFIRUser操作に共通するエラーコードのリストは、@c FIRAuthErrorsを参照してください。 */

だから、長い話短い受信があなたの現在のユーザーのアカウントnilであるerrが削除されただけでなく、自動的に署名した、しかし述べたように、あなたは他のFIRAuthErrorsを処理する必要がありますされていない場合にのみ、文書内で

+0

あなたは既にあなたのユーザーにサインインしています。 – Dravidian

+0

しかし、私はユーザーを歓迎するように指示した後にクラッシュするのはなぜですか? –

+0

正確にどこにエラーが表示されますか?このクラスか 'WelcomeViewController'そして何行目? – Dravidian

関連する問題