2015-10-04 46 views
0

我將在我的應用程序中創建一個匿名登錄系統。將用戶名保存在密鑰中,並在存在密鑰時加載密鑰

我要的是:

  1. 的人打開我的應用程序
  2. 的人點擊了「確定」按鈕,如果用戶密鑰存在,它將檢查。
  3. 如果用戶密鑰存在,它會記錄與用戶密鑰
  4. 如果用戶鍵不存在,它會記錄在使用下面的匿名代碼,並保存用戶名中的一個關鍵裏面的用戶名,所以它可以稍後使用相同的用戶名 ,而無需創建新的匿名用戶名。

匿名用戶登錄代碼:

PFAnonymousUtils.logInWithBlock { 
    (user: PFUser?, error: NSError?) -> Void in 
    if error != nil || user == nil { 
     println("Anonymous login failed.") 
    } else { 
     println("Anonymous user logged in.") 
    } 
} 

我怎樣才能做到這一點?我如何創建密鑰,設置密鑰,加載密鑰等。?

+0

爲什麼不乾脆使用匿名用戶提供? – Wain

+0

@Wain - 因爲如果每天有成千上萬的用戶登錄,那將會創建很多用戶。而這個系統會讓我更容易控制。 –

+0

所有你需要做的就是檢查PFUser.currentUser不是零 - 如果它不是,那麼用戶已經登錄(匿名)。如果它是零,請在上面調用您的代碼。一旦匿名用戶在Parse中註銷,您無法以該用戶身份重新登錄。 – Paulw11

回答

0

您並不需要保存用戶標識,因爲只要匿名用戶登錄,它就會存在。如果匿名用戶已註銷,則您永遠不能以用戶身份再次登錄。從Parse Documentation -

註銷後,匿名用戶無法恢復。

但是,除非在應用程序中提供註銷按鈕,否則用戶將只會在應用程序被刪除/重新安裝時註銷。

所以,你可以使用這樣的事情

if (PFUser.currentUser() == nil) { 
    PFAnonymousUtils.logInWithBlock { 
      (user: PFUser?, error: NSError?) -> Void in 
      if error != nil || user == nil { 
       println("Anonymous login failed.") 
      } else { 
       println("Anonymous user logged in.") 
      } 
     } 
} 

如果用戶在隨後已經登錄你沒有做任何事情,否則登錄匿名

+0

但用戶仍然在數據庫中。它不會被刪除,這將使我的解析數據庫中的ALOT用戶。 –

+0

只有當你有很多用戶。您可以在PFUser表中存儲「上次活動」日期,並清除尚未登錄6個月或一年的用戶或其他任何人 – Paulw11

+0

它將如下所示:http://s27.postimg.org/rtcidehkz/ Screen_Shot_2015_10_05_at_00_17_58.png –