用twitter在iOS中login用户…使用什么?

我知道类似的问题之前已经被问过(我已经阅读了大部分),但我还没有find一个好的答案呢。

我需要从iOSlogin/注册用户。 我有这个网站,我已经在那里(www.Meer.li),现在我需要在应用程序中做到这一点。

我知道我可以访问iOS设备上的twitter用户名,看看它是否在我的应用程序的数据库中,但是当用户没有注册到www.Meer.li时,我该如何处理呢?

对不起,如果这是一个微不足道的问题,但我有点困惑,我应该使用iOS社会框架或使用一些OAuth库(Restkit等)。

希望有人能指导我的答案或甚至是一个例子的方向!

待澄清:

非常感谢指导。 看起来合理。 可以肯定的是,这是我理解的步骤:

1:用户点击用twitterbuttonlogin

2:我们得到用户的Twitter帐户,并问他要使用哪一个

3:我们发送一个请求到Twitter的密钥和秘密为您自己的应用程序和用户的Twitter信息

4:如果收到回复良好的回复,请将收到的信息发送到您的webapp上创build用户的方法,并向其发送请求,以获取剩余的用户信息

5:让用户玩得开心

这是对的吗? 为什么以前没有人logging这个stream程? 听起来像是一件应该很容易做的事情。

注意: iOS 5+负责所有的OAuth和繁重的工作,所以只有在您支持旧的操作系统版本时才使用这个答案。

现在有一个关于如何做到这一点的WWDC 2012演示,Twitter.framework已被弃用。 login以查看此链接: http : //adcdownload.apple.com/wwdc_2012/wwdc_2012_session_pdfs/session_306__integrating_with_facebook_twitter_and_sina_weibo.pdf


我只是自己做这个。

我发现的最好的答案是Sean Cook的TWReverseAuthExample 。 (我分叉了他的github项目,然后把它烧到了TWReverseAuthSubModule中基于ARC的应用程序的子模块所需的基本要素 ,剥离了示例项目等,因为我知道我可以在原始的github资源。)

基本上,如果你遵循这个例子,它将遵循Twitter API网页上列出的步骤。

最后,你需要做的是创build代码,看起来非常像肖恩的例子。

networking上还有其他的资源,我最初开始使用这种资源,这让我“以twitterlogin”,以嵌套的UIWebView方式进行授权,甚至通过专门的应用程序URL返回到应用程序scheme。 如果你需要做iOS 5之前的工作,这些可能会有所帮助。

但是上面的例子充分利用了原生的iOS的twitter支持,并且也适用于iOS 6。

在iOS5中使用Twitter框架提示login提醒 :在iOS5中使用Twitter框架提示login提醒?

在iOS6中使用Twitter框架提示login提醒: Twitter Framework for ios6如何通过应用程序中的设置进行login

你可以使用twitter提供的reverse auth方法,你需要你的服务器支持这个。

这里是链接: https : //dev.twitter.com/docs/ios/using-reverse-auth

如果您的目标是iOS 5.x版本,则需要使用UIWebView进行OAuthlogin。 你可以跳过我的答案

但是如果针对iOS 5.0+,我会推荐iOS Twitter Framework。 正如Twitter的官方文档在这里所说的。 苹果整合了Twitter的原因,我敢打赌更多的人使用iOS 5.x或6.x. 在这种情况下,这只是一个简单的分步过程,所有API都可用,并且不需要密钥或秘密。

  1. 获取用户的Twitter帐户的帐户实例
  2. 请求用户访问可用Twitter帐户的权限
  3. 抓住可用的帐户
  4. 进行validation的请求

那么问题可能是:如果用户没有login设备,你可能需要提醒他去设置和做logging的东西,或使用一个“棘手”的方式来显示login:

- (void)showTwitterSettings{ TWTweetComposeViewController *tweetViewController = [[TWTweetComposeViewController alloc] init]; // Create the completion handler block. [tweetViewController setCompletionHandler:^(TWTweetComposeViewControllerResult result) { [self dismissModalViewControllerAnimated:YES]; }]; // Present the tweet composition view controller modally. [self presentModalViewController:tweetViewController animated:YES]; //tweetViewController.view.hidden = YES; for (UIView *view in tweetViewController.view.subviews){ [view removeFromSuperview]; } 

}