2016-10-22 41 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你需要採取的兩件事情護理: -

  • 火力地堡數據庫中刪除用戶數據(如果有)
  • 刪除驗證碼憑證號(如: - 電子郵件地址和密碼,Facebook登錄,微博等)

    要刪除當前用戶使用下面的功能,這也是第一個跡象的出用戶

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

    如果CMD +點擊刪除功能它會帶你到它的文檔: -

刪除用戶帳戶(也簽署了該用戶,如果這是當前用戶)。

完成可選地;在刪除賬戶的請求完成時調用該塊或失敗。將來在主線程上異步調用。

可能的錯誤代碼: - @c FIRAuthErrorCodeRequiresRecentLogin - 更新電子郵件是一項安全敏感的操作,需要用戶最近登錄。此錯誤表示用戶最近沒有登錄。要解決,請通過在FIRUser上調用reauthenticateWithCredential:completion:來重新認證用戶。

請參閱@c FIRAuthErrors以獲取所有FIRUser操作常見的錯誤代碼列表。 */

所以長話短說,如果ERR收到爲零目前的使用者帳戶不僅被刪除,但也自動退出,但你將需要處理其他FIRAuthErrors的規定在文檔

+0

然後是的,你已經自動簽出你的用戶。 – Dravidian

+0

但是,爲什麼我在指向用戶歡迎視圖後出現崩潰? –

+0

您究竟在哪裏得到錯誤?在這個類或'WelcomeViewController'中,在哪一行? – Dravidian

相關問題