如何使用Parse.com实现使用电子邮件地址或用户名登录?

use*_*469 2 iphone objective-c ios parse-platform

到目前为止,我们已使用以下语法检查了用户名和密码的登录凭据.

logInWithUsernameInBackground

 [PFUser logInWithUsernameInBackground:[UsernameField.text lowercaseString] password:PasswordField.text block:^(PFUser* user, NSError* error){
Run Code Online (Sandbox Code Playgroud)

但现在我的要求是:

用户必须使用电子邮件和UserName中的任何一个登录.

我们需要检查用户名/电子邮件和密码

怎么能实现这一目标?

Met*_*Say 16

PFQuery *query = [PFUser query];
    [query whereKey:@"email" equalTo:UsernameField.text];
    [query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error){
        if (objects.count > 0) {

            PFObject *object = [objects objectAtIndex:0];
            NSString *username = [object objectForKey:@"username"];
            [PFUser logInWithUsernameInBackground:username password:PasswordField.text block:^(PFUser* user, NSError* error){
            }];
        }else{
            [PFUser logInWithUsernameInBackground: UsernameField.text password:PasswordField.text block:^(PFUser* user, NSError* error){
            }];

        }


    }];
Run Code Online (Sandbox Code Playgroud)