Twitter / Fabric登录按钮只能工作一次

时间:2015-02-19 15:46:07

标签: ios objective-c swift twitter twitter-fabric

我成功使用了Fabric Login按钮(TWTRLogInButton,https://dev.twitter.com/twitter-kit/ios-reference/twtrloginbutton)。

在我的Swift应用程序中,我可以验证自己,打电话和所有。唯一的问题是我实施了一个"退出"调用Twitter.logOut()的按钮。

根据文档(https://dev.twitter.com/twitter-kit/ios-reference/twitter)的指定,这将删除本地会话,但不会使远程会话无效。结果是,一旦我通过身份验证然后注销,如果我点击了"登录"再次按钮我再次使用同一用户登录,有效阻止我切换用户。

任何帮助?

4 个答案:

答案 0 :(得分:2)

logOut是一个类方法,你打电话:

 Twitter.sharedInstance().logOut()

答案 1 :(得分:2)

你们面临的不完整的退出问题实际上与iOS持久系统帐户有关。如果用户已经登录iOS,TwitterKit会自动将用户登录。您可以使用以下步骤在kiosk的用例中解决此行为:

  1. 在设置中登录Twitter>微博
  2. 切换到您的应用并尝试使用Twitter登录
  3. 当授予访问权限对话框出现时,禁止访问Twitter帐户:
  4. Twitter account access dialog

    这可以防止TwitterKit访问您的系统帐户,并且每个用户都必须登录。希望这可以帮助!

    (最初select销毁本地会话......)

答案 2 :(得分:2)

使用方法

[[Twitter sharedInstance] logInWithMethods:TWTRLoginMethodWebBasedForceLogin completion:{}]

参数TWTRLoginMethodWebBasedForceLogin

  • 显示不使用任何缓存会话的Web视图 来自Safari。允许开发人员提供多用户 具有多个Twitter帐户的功能。

答案 3 :(得分:1)

我也遇到了这个问题,但似乎这就是它的行为方式,Twitter使用帐户“保存”操作系统级别的凭据 框架。你可以在这里看到:

转到手机上的设置 - > Twitter,你会看到帐户进入帐户和“删除帐户”

删除帐户后,您会发现当您启动应用并尝试登录Twitter时,系统会要求您登录。<​​/ p>

一旦添加了帐户,就无法取出帐户,(除非Twitter支持并将其公开)用户必须手动进入设置 - &gt; Twitter并从那里删除该帐户,以便能够登录其他帐户。

此外,我注意到当您在Twitter中添加其他帐户时,尝试登录您将有机会在使用时登录任一帐户 [[Twitter sharedInstance] logInWithCompletion:^(TWTRSession *session, NSError *error)

编辑:进一步研究如果用户允许该应用使用“Twitter”帐户,您就可以访问帐户框架并从那里删除该帐户:

https://developer.apple.com/library/mac/documentation/Accounts/Reference/ACAccountStoreClassRef/index.html

干杯!