parsing,如何处理无效的会话?
直接从文档,它说:
PFUser#currentUser()从磁盘获取当前login的用户并返回它的一个实例。
这很好,但是,如果用户login@磁盘不是在服务器上login的用户。 可以说,无论出于何种原因,用户帐户已被删除,或由于数据库修改,会话不再有效。 这些是目前我面临的问题。
在我读过的教程中,我已经看到使用下面这行代码来检查用户是否有效,因此可以跳过应用程序的login阶段:
if let user = PFUser.currentUser() as? Subclass { // Simulate successful login }
但是,这对我来说是一个问题,因为成功login是模拟的,但login不成功。 这是我正在处理的错误:
[错误]:无效的会话令牌(代码:209,版本:1.12.0)
所以我做的第一件事是尝试login用户,但是这个失败(我假设因为用户没有login开始),现在我被扔进应用程序立即崩溃,因为服务器所需的数据不在那里 以下是我试图处理错误代码209的方法:
let query = PFQuery(className: "Foo") query.whereKey("Bar", equalTo: "Foo") query.findObjectsInBackgroundWithBlock { (foo, error) -> Void in if let error = error { print(error); if error.code == 209 { PFUser.logOutInBackgroundWithBlock { (error) -> Void in if let error = error { print("Okay, I'm trapped!"); } } } } }
这个“查询”的输出如下:
[Error]: invalid session token (Code: 209, Version: 1.12.0) Okay, I'm trapped!
我在这里没有什么想法了,我正试图弄清楚如何在应用程序启动时正确地validation用户。 在每个查询中都必须捕获错误代码209似乎是多余的,但是如果这就是你必须做的,那么这就是你必须做的。
您可以使用同步注销。 所以即使发生错误也没关系。 如果用户再次启动应用程序,PFUser会话令牌将失效。
另外最新的Parse SDK提供了PFConstants类,它为所有可能的错误情况提供枚举。
kPFErrorInvalidSessionToken = 209.
if (error.code == kPFErrorInvalidSessionToken) { PFUser.logOut() //Necessary pop of view controllers after executing the previous code. }
- iOS中的背景获取和背景传输可以在bakcground上下载数据(JSON)
- 构build设置使用UUID指定供应configuration文件
- iOS Swift:从CNContactProperty获取用户select的电话号码作为string
- UIPageViewController的setViewControllers,UIPageControl不显示正确的当前编号
- 如何从S3下载文件到iPhone应用程序?
- 在iOS中离开视图之前要求用户确认
- 用于从URL注释的MapBox图像
- 如何回溯月份的最后一个月在iphone中给出月份作为参数
- 来自UIImagePickerController的Xamarin ios – referenceUrl总是为空