解析:无法注册自动创建的用户

时间:2015-04-27 09:02:42

标签: ios objective-c parse-platform

我正在使用Parse 1.7.1 for iOS,我正在尝试注册用户。在强制注册/登录过程之前,我选择让用户与应用程序进行交互。问题是,只要我调用signUp,会话对象就会从服务器中消失并导致任何后续调用返回错误209.

以下是一些代码:

的AppDelegate:

[PFUser enableAutomaticUser];
[[PFUser currentUser] incrementKey:@"runCount"];
[[PFUser currentUser] saveInBackground];

当我检查Parse Core控制台时,我可以看到有效的用户&会话。

myController的:

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]);
    }
}];

当我检查控制台时,有一个更新的用户,但不再有会话。

任何其他API调用

[Error]: invalid session token (Code: 209, Version: 1.7.1)

尽管我尝试与Parse API交互时回调返回success,但我得到一个209,无效的会话令牌。这是公平的,因为控制台中不存在会话对象。

有谁知道我做错了什么?

注意:这是一个全新的应用程序(不受Parse在3月25日所做的更改)/。

2 个答案:

答案 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]);
    }
   }];

}];