成功登录后,匿名用户会在数据库中保留

时间:2015-01-10 19:03:07

标签: ios objective-c parse-platform

启用Parse.com和匿名用户(带自动创建) - 这是场景:

  1. 启动应用程序 - 在数据库
  2. 上创建匿名用户#1
  3. 使用用户名&注册密码 - 匿名用户#1转换为普通用户
  4. 删除应用 - 重新安装&启动 - 创建匿名用户#2
  5. 这次不注册而是登录 - 登录成功,但匿名用户#2仍然存在于云端。
  6. 如何让步骤4中的匿名用户#2离开(完全,我不想在数据库中使用垃圾)?

1 个答案:

答案 0 :(得分:1)

只要用户以其他方式注销并因此您知道currentUser包含nil或匿名用户对象,您应该能够存储匿名用户对象,然后在成功登录后删除该用户对象,例如:

PFUser *anonymousUser;
if ([PFUser currentUser] != nil) {
    anonymousUser = [PFUser currentUser];
}

[PFUser logInWithUsernameInBackground:emailString password:passwordString block:^(PFUser* user, NSError* error){
    if (user) {
        if (anonymousUser)
            [anonymousUser deleteInBackground];
    }
}