2015-10-04 107 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 –