每次我去运行我的应用程序时,应用程序运行正常,但控制台打印错误。错误是 “无效的 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/