swift - 无效 session token (代码 : 209 Version: 1. 7.4)

标签 swift parse-platform

每次我去运行我的应用程序时,应用程序运行正常,但控制台打印错误。错误是 “无效的 session token (代码:209 版本:1.7.4)”

我检查了 Parse.com,他们告诉我要处理这个错误,编写一个全局实用程序函数,由我的所有解析请求错误回调调用。他们说我可以处理这个全局函数中的“无效 session token ”错误,我应该提示用户再次登录,以便他们可以获得新的 session token 。但是,当我尝试在我的应用程序中输入代码时,我收到错误消息,提示我正在使用未解析的标识符。

有谁知道如何修复无效 session token 错误。或者我如何在我的应用程序中使用代码“kPFErrorInvalidSessionToken”。任何帮助将不胜感激。 (我写的语言很快)

最佳答案

我不仅尝试从 AppDelegate 调用 ParseErrorHandler.handleParseError(err),还尝试从其他 View Controller 调用,但它无法正常工作。这是适用于每个 VC 的解决方案:

class ParseErrorHandler {
    class func handleParseError(error: NSError) {

    if error.domain != PFParseErrorDomain {
        return
    }

    switch (error.code) {

        // error code 209 handling
    case PFErrorCode.ErrorInvalidSessionToken.rawValue:

        invalidSessionTokenHandler()

    default:
        break
    }
}

// NOTE: User has no other option but to log out in this implementation

private class func invalidSessionTokenHandler() {

    let message: String = "Session is no longer valid! Please login again!"

    let alert = UIAlertController(title: nil, message: message, preferredStyle: .Alert)

    var vc = UIApplication.sharedApplication().keyWindow?.rootViewController

    while (vc!.presentedViewController != nil)
    {
        vc = vc!.presentedViewController
    }

    vc?.presentViewController(alert, animated: true, completion: nil)

    let logoutAction = UIAlertAction(title: "OK", style: .Default, handler: {
        (UIAlertAction) -> Void in

        let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
        let exampleViewController: SignUpViewController  = mainStoryboard.instantiateViewControllerWithIdentifier("SignUpViewController") as! SignUpViewController
        vc?.presentViewController(exampleViewController, animated: true, completion: nil)

        PFUser.logOut()
    })

    alert.addAction(logoutAction)
}
}

希望我能节省一些人的时间!

关于swift - 无效 session token (代码 : 209 Version: 1. 7.4),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30540377/

相关文章:

ios - 如何解决此 Spritekit (Swift 3) 错误?

json - 使用 Codable 解析嵌套的 JSON

javascript - Parse.Query.each() 不包括所有记录

android 解析服务器 gradle 同步失败

javascript - 如何获取或将 Parse 查询转换为数组(JavaScript SDK)

cocoa - Swift:尝试在循环中更新 NSTextField,但它只获取最后一个值

swift - 如何在一对多关系的 NSSet 上应用 NSSortdiscriptor 或 NSPredicate

ios - 解析中的显示维护

javascript - 如何使用 Javascript SDK 调用带有参数的云代码函数

ios - 这是什么意思? "alienPosition = alien.position"