Jek*_*tel 1 twitter twitter-oauth acaccount social-framework ios7
我正在做登录功能.其中 -
用户将提供Twitter电子邮件ID登录,如果登录成功,我的应用程序将导航用户到我的应用程序的内部屏幕.
如果用户已从用户的设备ios设置配置了Twitter帐户.我的应用程序从那里获取用户的电子邮件ID,它将导航到我的应用程序的第二个屏幕.
如果用户尚未从ios设置配置Twitter帐户,那么,如果用户在我的应用程序登录屏幕上通过Twitter登录按钮,则会将用户导航到用户必须提供电子邮件ID(推特ID)和密码的推特页面.登录成功它应该回到我的应用程序的内部屏幕(与登录Facebook的功能相同).
我怎么能做到这一点.提前致谢.
首先,您无法使用iOS7框架或Twitter的Native API从twitter的API获取用户电子邮件地址.
如果您想获取用户电子邮件地址,可以要求用户手动输入.这就是Twitter人们在他们的API文档中所说的.对于Point 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.
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5983 次 |
| 最近记录: |