问题描述
在我的项目中,我有一个PFUser
的子类,称为FRUser
。目前,我面临的问题是,一旦我修改用户并保存这些更改,例如使用以下代码,解析将更新会话令牌。
let user = FRUser.current()
user?.fullName = "Test"
user?.saveInBackground()
这里的问题是,我需要手动小心,不要与用户对象的保存一起调用CloudCode函数,因为如果这样做,我会遇到invalid session token 209
错误。那是预期的行为吗?或者我该如何避免呢?
我在sashido.io上托管的iOS和Parse Server v3.6.0上使用的解析版本为1.19.0
自从每次启动后我都要更新FRUser.current()
对象以来,在加载数据时遇到了很多无效的会话令牌错误,因此我开始使用以下代码来研究此问题。
class SessionController {
static let shared = SessionController()
var currentSessionToken: String?
private init() {
guard let st = FRUser.current()?.sessionToken else { currentSessionToken = nil; return }
currentSessionToken = st
startPolling()
}
private func startPolling() {
dispatchQueue.main.asyncAfter(deadline: .Now() + 0.05) {
guard let oldSt = self.currentSessionToken,let newSt = FRUser.current()?.sessionToken else { return }
if oldSt != newSt {
print("Did update session token!")
print("Old Session token: \(oldSt)")
print("New Session token: \(newSt)")
self.currentSessionToken = newSt
}
self.startPolling()
}
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)