我在做登录功能。 其中 -
用户将提供Twitter电子邮件ID登录,如果登录成功,我的应用程序将导航用户到我的应用程序的内部屏幕。
如果用户已从用户的设备ios设置配置了Twitter帐户。我的应用从那里获取用户的电子邮件ID,它将导航 进入我的应用程序的第二个屏幕。
- 醇>
如果用户尚未从ios设置配置Twitter帐户,那么,如果用户通过我的应用程序登录屏幕上的Twitter登录按钮,则 将用户导航到用户必须提供的Twitter页面 电子邮件ID(推特ID)和密码,如果登录成功 应该回到我的应用程序的内部屏幕(与登录相同的功能 与facebook)。
我怎么能实现这一目标。提前谢谢。
答案 0 :(得分:5)
首先,您无法使用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.
}