使用Parse登录删除iOS中的用户

loz*_*lan 4 login ios parse-platform swift

我正在使用swift在iOS中实现解析登录.从登录视图控制器我只需使用电子邮件和密码就可以通过swift注册新用户.这会创建一个正确保存到Parse后端的PFUser.然后,用户被带到UserDetails视图控制器,通过提供更多详细信息来"完成"他们的注册,这些详细信息将保存到coredata(我只使用解析功能进行注册).如果用户在"完成"其他详细信息之前取消,我想从之前可能创建的解析中删除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()
        }
Run Code Online (Sandbox Code Playgroud)

但我得到以下解析错误[错误]:除非已经过身份验证,否则无法删除用户.(代码:206,版本:1.8.5)....我不知道需要什么身份验证过程,我猜测问题可能是因为我试图在解析之前删除用户有适当的时间来创建用户第一名....任何帮助或建议赞赏

Mo *_*emi 5

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

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