if let cachedUser = PFUser.current() {
// proceed to save some objects
} else {
PFAnonymousUtils.logIn{ (user, error) in
// proceed to save some objects
if ((error as NSError).code == 209) {
// session expired, logout and call PFAnonymousUtils.logIn again later
PFUser.logOut()
}
}
}
对于一个简单的 Swift 移动应用程序,我们将数据匿名保存在解析后端。如果出现会话过期错误(Parser 服务器默认为 1 年),我们将不得不对此采取措施,否则我们将无法再保存任何内容。因此,我们注销并重新登录。
一旦我们注销并重新登录,这将在后端创建第二个新用户。
这就产生了一个问题——我们不再准确了解后端的用户数量。
上面的流程出了什么问题?有没有办法在处理过期会话时防止重复的匿名用户?