2013-08-28 27 views
2

到目前爲止,我們已經使用以下語法檢查了包含UserName和密碼的登錄憑證。如何使用Parse.com實現使用電子郵件地址或用戶名登錄?

logInWithUsernameInBackground

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

但現在我的要求是:

用戶必須需要電子郵件和用戶名中的任何一個進行登錄。

我們需要用戶名/電子郵件和密碼檢查

如何才能實現這一目標?

+0

你是否能夠做到這一點? – SAHM

回答

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

     } 


    }]; 
相關問題