0

ログイン画面を1つだけにしたい。ユーザーは、ログインするたびにユーザー名、電子メール、およびパスワードを入力します。サインアップしてログアウトし、同じ資格情報を使用してログインしようとすると、ユーザー名が既に使用されているというエラーが返されるという問題があります。正しい資格情報が提供された場合、どうすればログインできますか?

PFUser *user  = [PFUser user];
user.email = emailEntry;
user.username = nickNameEntry;
user.password = passwordEntry;
[user signUpInBackgroundWithBlock:^(BOOL succeeded, NSError *error)
{
    if (!error)
    {
        [MYAlertView showAlertWithTitle:@"Successful login"
                                 message:@"success"
                       cancelButtonTitle:@"OK"];
    }
    else
    {
        NSString *errorString = [[error userInfo] objectForKey:@"error"];
        [MyAlertView showAlertWithTitle:@"There was an error signing up."
                                 message:errorString
                       cancelButtonTitle:@"OK"];
    }
}];
4

1 に答える 1

0

ユーザーが (初めて) サインアップする必要がある場合は、これまで–signUpInBackgroundWithBlock:と同様に を使用する必要があります。

ただし、彼がすでにサインアップしている場合は、 を使用する必要があると思います+logInWithUsernameInBackground:password:block:

この情報はこのページから取得していますが、この SDK を使用したことはありません。

それを行う簡単な方法は次のとおりです。

  1. 異なるビュー コントローラーをプッシュする 2 つのボタンがあり、1 つはサインアップ用、もう 1 つはログイン用です。
  2. 同じフォームと 2 つのボタン。1 つは を呼び出すメソッドを呼び出し、もう 1 つは を–signUpInBackgroundWithBlock:呼び出します+logInWithUsernameInBackground:password:block:

2 番目の解決策の問題点は、同じフォームを使用している場合、サインアップ時に特別な情報 (名前、生年月日など) を尋ねることができないことです。

EDIT: あなたは見たいと思うかもしれません:

  1. PFSignUpViewControllerDelegate
  2. PFLoginViewControllerDelegate
  3. Parse API Documentation (上記の 2 つのリンクを見つけた場所)。
于 2013-08-24T23:09:26.307 に答える