我正在使用Parse 1.7.1 for iOS,我正在尝试注册用户。在强制注册/登录过程之前,我选择让用户与应用程序进行交互。问题是,只要我调用signUp,会话对象就会从服务器中消失并导致任何后续调用返回错误209.
以下是一些代码:
[PFUser enableAutomaticUser];
[[PFUser currentUser] incrementKey:@"runCount"];
[[PFUser currentUser] saveInBackground];
当我检查Parse Core控制台时,我可以看到有效的用户&会话。
PFUser *user = [PFUser currentUser];
if (! user) {
user = [PFUser user];
}
user.email = @"my@email.com";
user.password = @"somepassword";
user.username = @"whatever";
// I also tried Save instead of signUpInBackground... same result
[user signUpInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {
if (succeeded) {
NSLog(@"Success signing up");
}
else {
NSLog(@"Error %@", [error localizedDescription]);
}
}];
当我检查控制台时,有一个更新的用户,但不再有会话。
[Error]: invalid session token (Code: 209, Version: 1.7.1)
尽管我尝试与Parse API交互时回调返回success
,但我得到一个209,无效的会话令牌。这是公平的,因为控制台中不存在会话对象。
有谁知道我做错了什么?
注意:这是一个全新的应用程序(不受Parse在3月25日所做的更改)/。
答案 0 :(得分:1)
我已经提到这是Facebook的一个错误,他们正在修复它在1.7.3
Here是我与他们的谈话。
答案 1 :(得分:0)
使用选择器-signUpSelector创建按钮。并且需要实现这个代码:
-(void)signUpSelector
[PFUser becomeInBackground:@"session-token-here" block:^(PFUser *user, NSError *error) {
PFUser *newUser = nil;
if (error) {
newUser = [PFUser user];
} else {
newUser = user;
}
user.email = @"my@email.com";
user.password = @"somepassword";
user.username = @"whatever";
[user signUpInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {
if (succeeded) {
NSLog(@"Success signing up");
}
else {
NSLog(@"Error %@", [error localizedDescription]);
}
}];
}];