Ios 错误域=解析代码=209“操作无法完成
我安装了ParseStarter项目swift版本,并使用以下代码创建了一个新用户:Ios 错误域=解析代码=209“操作无法完成,ios,iphone,swift,parse-platform,Ios,Iphone,Swift,Parse Platform,我安装了ParseStarter项目swift版本,并使用以下代码创建了一个新用户: var user = PFUser() ... user.signUpInBackgroundWithBlock... 然后,我再次运行该项目,发现以下错误: 2015-03-26 09:49:25.485项目[14768:199520][错误]:无效会话令牌代码:209,版本:1.7.0 2015-03-26 09:49:25.489 ParseStarter项目[14768:199521][Error]:
var user = PFUser()
...
user.signUpInBackgroundWithBlock...
然后,我再次运行该项目,发现以下错误:
2015-03-26 09:49:25.485项目[14768:199520][错误]:无效会话令牌代码:209,版本:1.7.0
2015-03-26 09:49:25.489 ParseStarter项目[14768:199521][Error]:最终未能运行命令,错误为:Error Domain=Parse Code=209操作无法完成。Parse Error 209.UserInfo=0x7fcda3cb6680{Error=invalid session token,Code=209}
我做错了什么???我以为获取当前用户也会执行登录,但它不会。 所以问题是我试图保存一个对象而不执行登录
func login() {
var username = username from UI or key store
var password = password from UI or key store
if let currentUser = PFUser.currentUser() {
println("current user is \(currentUser.username)")
username = currentUser.username
}
PFUser.logInWithUsernameInBackground(username, password:password) {
(user: PFUser!, error: NSError!) -> Void in
if user != nil {
println("successful login with \(user.username)")
self.saveSomething()
} else {
println("failed login with \(user.username)")
}
}
}
func saveSomething() {
var gameScore = PFObject(className:"GameScore")
gameScore["score"] = 1337
gameScore["playerName"] = "Sean Plott"
gameScore["cheatMode"] = false
gameScore.saveInBackgroundWithBlock {
(success: Bool, error: NSError!) -> Void in
if (success) {
println("The object has been saved")
} else {
println("There was a problem, check error.description")
}
}
}
如果用户未登录,PFUser.currentUser将返回nil。您只需要在为nil的情况下执行登录,并在if语句中添加else块。