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



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

  1. 启动应用程序 - 在数据库上创建匿名用户 #1
  2. 使用用户名和密码注册 - 匿名用户#1转换为普通用户
  3. 删除应用程序 - 重新安装和启动 - 创建匿名用户#2
  4. 这次不要注册而是登录 - 登录成功,但匿名用户 #2 保留在云中。

如何使步骤 2 中的匿名用户 #4 消失(完全,我不希望数据库中有垃圾)?

只要用户以其他方式注销,并且您因此知道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];
    }
}

最新更新