I’m trying update user property after login.
But this resets user-token and require user to login next time application starts(ignoring setStayLoggedIn(true)
).
let backendless = Backendless.sharedInstance()
let curr = backendless.userService.currentUser
var fault:Fault?
let token = backendless.userService.isValidUserTokenError(&fault)
if fault != nil {
print("token check error: \(fault?.detail)")
return
}
if token.boolValue == false || curr == nil {
print("Logging in!")
backendless.userService.setStayLoggedIn(true)
var loginErr: Fault?
let loggedUser = backendless.userService.login("user@gmail.com", password: "pass", error: &loginErr)
if loginErr != nil {
print("failed login \(loginErr!.detail)")
} else {
print("LOGIN OK \(loggedUser.email) \(loggedUser.getUserToken())")
let properties = [
"deviceId" : "testID"
]
loggedUser.updateProperties(properties)
Backendless.sharedInstance().userService.update(loggedUser, response: { (resU) in
print("[updateDeviceId] OK \(resU.getProperty("deviceId"))")
print("[updateDeviceId] OK curr:\(resU.getUserToken())")
}) { (fault) in
print("[updateDeviceId] Error on save \(fault.detail)")
}
}
} else {
print("Token OK")
print(curr.email)
}