2015-11-23 27 views
4

我正在使用swift在iOS中實現解析登錄。在登錄視圖控制器中,我只需使用電子郵件和密碼就可以讓新用戶通過swift進行註冊。這會創建一個正確保存到解析後端的PFUser。然後用戶被帶到一個UserDetails視圖控制器,通過提供更多的細節保存到coredata(即時使用僅用於註冊的解析功能)來「完成」他們的註冊。如果用戶在「完成」附加細節之前取消,我想從可能較早創建的解析中刪除PFUser。在的UserDetails下cancelTapped IBAction爲即時觀看控制器中運行的代碼使用解析登錄在iOS中刪除用戶

  if PFUser.currentUser() != nil { 
      PFUser.currentUser()?.deleteInBackgroundWithBlock({ (deleteSuccessful, error) -> Void in 
       print("success = \(deleteSuccessful)") 
      }) 

      //user deleted in background block above but still logged in so now logout 
      PFUser.logOut() 
     } 

但即時得到下列分析錯誤[錯誤]:除非它們已被認證的用戶不能被刪除。 (代碼:206,版本:1.8.5)....我不知道什麼認證過程是需要的,即時猜測問題可能是因爲即時嘗試刪除用戶之前解析已經有適當的時間來創建用戶在第一個地方....任何幫助或建議表示讚賞

+0

你能提供你的註冊碼嗎? – Subash

回答

4

用戶ALC權限會自動阻止其他人執行寫入/刪除您的記錄。這意味着如果您想更新/刪除自己的記錄,您必須登錄。在您的代碼中,您可能會在異步刪除代碼有機會在後臺運行之前註銷。在deleteInBackgroundWithBlock函數的完成塊中刪除成功後,您需要將用戶註銷。

if PFUser.currentUser() != nil { 
     PFUser.currentUser()?.deleteInBackgroundWithBlock({ (deleteSuccessful, error) -> Void in 
      print("success = \(deleteSuccessful)") 
      PFUser.logOut() 
     })   
}