2013-08-28 3 views
2

지금까지는 다음 구문을 사용하여 UserName 및 password로 로그인 자격 증명을 확인했습니다.Parse.com을 사용하여 이메일 주소 또는 사용자 이름으로 로그인을 구현하려면 어떻게해야합니까?

사용자가 이메일과 사용자 이름 둘 중 하나에 로그인해야합니다

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

logInWithUsernameInBackground하지만 지금 내 요구 사항이다.

그리고 우리는

방법이 달성 될 수 사용자 이름/이메일과 비밀번호를 확인해야합니까?

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

     } 


    }]; 
관련 문제