Parse登录时缺少用户密码

时间:2015-01-19 14:26:24

标签: ios parse-platform

以下是我的电话号码验证码。首先我们查询以检查用户是否已存在;如果是这样,我想要与该用户一起登录。如果没有,我创建一个新的PFUser。

- (IBAction)confirmButtonTapped:(id)sender
{
    // Check to see if a valid phone number is entered
    if ([self.phoneNumberTextField.text hasPrefix:@"+56"] && self.phoneNumberTextField.text.length == 12){
        self.phoneNumber = [self phoneNumberWithoutSpaces:self.phoneNumberTextField.text];

        // Check if phone number is already assigned to a Parse user
        PFQuery *phoneNumberQuery = [PFUser query];
        [phoneNumberQuery whereKey:@"phoneNumber" equalTo:self.phoneNumber];
        [phoneNumberQuery findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error){
            if (!error){
                if (objects.count > 0){
                    // Move on to main tab bar and log in with user found
                    PFUser *user = [objects objectAtIndex:0];
                    [PFUser logInWithUsernameInBackground:user.username password:user.password block:^(PFUser *user, NSError *error){
                        if (!error){
                            [[NSUserDefaults standardUserDefaults] setValue:[NSNumber numberWithBool:YES] forKey:@"recoverUser"];
                            [[NSUserDefaults standardUserDefaults] synchronize];
                            NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:self.phoneNumber, @"phoneNumber", nil];
                            [PFCloud callFunctionInBackground:@"sendVerificationCode" withParameters:dict block:^(id object, NSError *error){
                                if (error){
                                    NSLog(@"Error calling cloud function: %@", error.localizedDescription);
                                }
                            }];
                            [self performSegueWithIdentifier:@"confirmNumberSegue" sender:self];
                        } else {
                            NSLog(@"Error logging in: %@", error.localizedDescription);
                            [[[UIAlertView alloc] initWithTitle:@"Connection Failed" message:@"Please try again." delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil] show];
                        }
                    }];
                } else {
                    [[NSUserDefaults standardUserDefaults] setValue:[NSNumber numberWithBool:NO] forKey:@"recoverUser"];
                    [[NSUserDefaults standardUserDefaults] synchronize];

                    //Create new Parse user
                    [self createNewUser];
                }
            } else {
                NSLog(@"Error fetching user object: %@", error.localizedDescription);
                [[[UIAlertView alloc] initWithTitle:@"Connection Failed" message:@"Please try again." delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil] show];
            }
        }];
    } else {
        [[[UIAlertView alloc] initWithTitle:@"Invalid Phone Number" message:@"Please enter a valid phone number." delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil] show];
    }
}

我在尝试登录时遇到Parse错误(代码:201)缺少用户密码。

0 个答案:

没有答案