iOS中使用Parse登录删除用户

4
我正在使用 Swift 在 iOS 上实现 Parse 登录。从登录视图控制器中,我仅使用电子邮件和密码获取新用户来注册。这将创建一个 PFUser,该用户正确地保存到 Parse 后端。然后,用户被带到“用户详细信息”视图控制器来通过提供更多详细信息来“完成”他们的注册(我仅使用 Parse 功能进行注册)。然而,如果用户在“完成”附加详细信息之前取消了操作,我想要删除可能在几秒钟前创建的 PFUser。在 UserDetails 视图控制器下 cancelTapped ibaction 中,我运行以下代码:
            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) ... 我不知道需要哪些身份验证过程,我猜想问题可能是因为我试图在解析器正确创建用户之前删除用户 ... 欢迎任何帮助或建议。


你可以提供你的注册码吗? - Subash
1个回答

5

用户的ALC权限会自动阻止其他人对您的记录执行写入/删除操作。这意味着如果您想要更新/删除自己的记录,您必须已登录。在您的代码中,当您异步删除代码在后台运行之前,您可能会退出登录。相反,您需要在deleteInBackgroundWithBlock函数的完成块中成功删除后注销用户。

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接