Войти через твиттер в ios 7

Я делаю функциональность входа в систему. В котором -

  1. пользователь даст идентификатор электронной почты в твиттере для входа в систему, и, если вход в систему будет успешным, мое приложение перейдет на внутренний экран моего приложения.

  2. Если пользователь настроил учетную запись Twitter из настроек ios устройства пользователя. Мое приложение берет идентификатор электронной почты пользователя оттуда, и оно перейдет на второй экран моего приложения.

  3. Если пользователь не настроил учетную запись Twitter в настройках ios, то, если пользователь нажмет кнопку входа в систему с помощью Twitter на экране входа в мое приложение, он перейдет на страницу Twitter, откуда пользователь должен указать идентификатор электронной почты (идентификатор Twitter) и пароль, и если вход выполнен успешно, он должен вернуться к внутреннему экрану моего приложения (такая же функциональность, как и вход через Facebook).

как я мог достичь этого. Заранее спасибо.

1 ответ

Прежде всего, вы не можете получить адрес электронной почты пользователя из API Twitter, используя iOS7 Framework или Native API Twitter.
Если вы хотите получить адрес электронной почты пользователя, вы можете попросить пользователя ввести его вручную. Это то, что люди из Твиттера говорят в своих Документах API. Для ваших пунктов 2 и 3 приведен пример кода с использованием iOS7

if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeTwitter]) // check Twitter is configured in Settings or not
{
    self.accountStore = [[ACAccountStore alloc] init]; // you have to retain ACAccountStore

    ACAccountType *twitterAcc = [self.accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierTwitter];

    [self.accountStore requestAccessToAccountsWithType:twitterAcc options:nil completion:^(BOOL granted, NSError *error)
     {
         if (granted)
         {
             self.twitterAccount = [[self.accountStore accountsWithAccountType:twitterAcc] lastObject];
             NSLog(@"Twitter UserName: %@, FullName: %@", self.twitterAccount.username, self.twitterAccount.userFullName);
             [self getTwitterEmail]; // here you can ask user to enter email address. Its up to you how you ask user about it. Either in alert View or in Text Field.
         }
         else
         {
             if (error == nil) {
                 NSLog(@"User Has disabled your app from settings...");
             }
             else
             {
                 NSLog(@"Error in Login: %@", error);
             }
         }
     }];
}
else
{
    NSLog(@"Not Configured in Settings......"); // show user an alert view that Twitter is not configured in settings.
}
Другие вопросы по тегам