2014-01-18 5 views
1

로그인 기능을 사용하고 있습니다. 하는 -ios 7의 twitter로 로그인

  1. 사용자는 로그인 트위터 이메일 ID를 줄 것이다 로그인이 성공 도착하면, 내 응용 프로그램 내 응용 프로그램의 그것의 내부 화면으로 사용자를 이동합니다.

  2. 사용자가 사용자의 장치 설정에서 트위터 계정을 구성한 경우. 내 앱은 거기에서 사용자의 이메일 ID를 가져오고 을 내 앱의 두 번째 화면으로 이동합니다. 사용자가 내 응용 프로그램 로그인 화면에서 트위터와 버튼 로그인을 tapps 경우 사용자가 설정 한 후 IOS에서 트위터 계정을 구성하지 않은, 그것은 는 이메일 ID를 제공하기 위해 사용자가 가지고있는 곳에서 트위터 페이지로 사용자를 이동 한 경우

  3. (트위터 아이디)와 비밀번호를 입력하십시오. 로그인이 성공하면 은 내 앱의 내부 화면으로 돌아와야합니다 (페이스 북을 가지고 로그인 과 같은 기능).

어떻게하면 좋을까요? 미리 감사드립니다.

+0

이 작업을 수행 했습니까? – DAMM108

+0

@ DAMMM108 : 답장을 보내 주셔서 감사합니다. 이전 twitter api를 사용하여이 작업을 수행했지만 ios 표준 라이브러리에서이 작업을 수행하려고합니다. 그것은 가능한가? 감사합니다 –

+0

그게 아니야 IOS 표준 프레임 워크 대신 https://github.com/nst/STTwitter를 사용하는 것이 불가능합니다. – DAMM108

답변

5

우선, iOS7 프레임 워크 또는 Twitter의 Native API를 사용하여 트위터의 API에서 사용자 이메일 주소를 가져올 수 없습니다.
사용자 이메일 주소를 얻으려면 수동으로 입력하도록 요청할 수 있습니다. 그것은 트위터 사람들이 API Docs에서 말하는 것입니다. 귀하의 포인트 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. 
} 
+1

'userFullName'은'Facebook' 만 사용할 수 있습니다. – Hemang