【问题标题】:Parse.com user log out while offlineParse.com 用户在离线时注销
【发布时间】:2016-04-19 22:52:27
【问题描述】:

这是我遇到的问题。 我正在使用 Parse.com 构建具有登录/注销功能的应用程序。 当设备连接到网络时,我实现 PFUser.logOut() 没有问题。 我的问题是用户离线时。即使没有互联网连接,我也希望能够将它们注销。 到目前为止,我已经尝试从 localDatastore 中删除会话并取消固定 PFUser.currentUser()?.unpinInBackground()。这些都没有奏效。 有什么想法吗?

【问题讨论】:

    标签: ios swift parse-platform offline logout


    【解决方案1】:

    您可以尝试这样注销:

    PFUser.logOutInBackgroundWithBlock({ (error) -> Void in
        if error != nil {
            PFUser.currentUser()?.username = nil
        }
    })
    

    要检查用户是否使用此解决方案登录,您需要检查他的用户名:

    if let _ = PFUser.currentUser()?.username {
        //The user is logged in
        //self.performSegueWithIdentifier("showLoggedViewController", sender: self)
    }
    

    【讨论】:

    • 是的,这是个好主意,但 Parse SDK 说:“'无法删除 PFUser 的'用户名'字段。'”
    • 我的日志只显示网络错误:[Error]: The Internet connection appears to be offline. (Code: 100, Version: 1.12.0) [Error]: Network connection failed. Making attempt 1 after sleeping for 1.966949 seconds. 但没有关于他无法删除 PFUser 的用户名字段...
    • 如果你离开它,只要尝试所有尝试,那么它会显示错误吗?
    • Parse 似乎尝试了 4 次连接网络(时间间隔是随机的,可能需要 15/30 秒才能到达最后一次尝试)
    • 是的,确切地说,这就是我要避免的……我不希望用户等待半分钟后退出。否则,如果之后您连接并打开应用程序,Parse 会记得注销:D
    【解决方案2】:

    看来您必须连接到 Internet 才能执行注销。不过文档中并未明确提及。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-25
      • 1970-01-01
      • 2011-01-31
      • 2019-02-14
      • 1970-01-01
      相关资源
      最近更新 更多