Ios 保存PFUser会导致sessionToken更新
在我的项目中,我有一个子类Ios 保存PFUser会导致sessionToken更新,ios,swift,parse-platform,parse-server,parse-ios-sdk,Ios,Swift,Parse Platform,Parse Server,Parse Ios Sdk,在我的项目中,我有一个子类PFUser,名为FRUser。目前我面临的问题是,只要我修改用户并保存这些更改(例如使用以下代码),parse就会更新会话令牌 let user = FRUser.current() user?.fullName = "Test" user?.saveInBackground() 这里的问题是,我需要手动注意不要在保存用户对象的同时调用CloudCode函数,因为如果这样做,我会得到一个无效会话令牌209错误。这是预期的行为吗?或者我怎样才能避免
PFUser
,名为FRUser
。目前我面临的问题是,只要我修改用户并保存这些更改(例如使用以下代码),parse就会更新会话令牌
let user = FRUser.current()
user?.fullName = "Test"
user?.saveInBackground()
这里的问题是,我需要手动注意不要在保存用户对象的同时调用CloudCode函数,因为如果这样做,我会得到一个无效会话令牌209
错误。这是预期的行为吗?或者我怎样才能避免呢
我在iOS上使用解析版本1.19.0,在sashido.io上使用解析服务器v3.6.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()
}
}
}