Twitter /织物loginbutton只能工作一次

我正在使用Fabric Loginbutton(TWTRLogInButton, https ://dev.twitter.com/twitter-kit/ios-reference/twtrloginbutton)。

在我的Swift应用程序中,我可以validation自己,打电话和所有。 唯一的问题是,我已经实现了一个调用Twitter.logOut()的“注销”button。

按照文档( https://dev.twitter.com/twitter-kit/ios-reference/twitter )的规定,这会删除本地会话,但不会使远程会话失效。 其效果是,一旦我通过身份validation,然后注销,如果我再次点击“login”button,我再次用同一个用户login,有效地防止我切换用户。

任何帮助?

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

Twitter.sharedInstance().logOut() 

你们面临的不完整的注销问题实际上与iOS坚持系统帐户有关。 TwitterKit自动login一个用户,如果他们已经在iOS上login。 您可以通过以下步骤在kiosk的用例中解决这种行为:

  1. 在设置> Twitter中login到Twitter
  2. 切换到您的应用程序,并尝试使用Twitterlogin
  3. 授予访问对话框出现时禁止访问Twitter帐户:

Twitter帐户访问对话框

这可以防止TwitterKit访问您的系统帐户,每个用户将不得不login。 希望这可以帮助!

(最初Twitter.sharedInstance().logOut()销毁本地会话…)

使用方法

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

参数TWTRLoginMethodWebBasedForceLogin

  • 提供不使用Safari中的任何caching会话的Web视图。 允许开发人员使用多个Twitter帐户提供多用户function。

我也遇到了这个问题,但似乎这是它的performance,Twitter使用Accounts框架在操作系统级别“保存”证书。 你可以在这里看到:

进入手机上的设置 – > Twitter,你会看到那里的账户进入账户,“删除账户”

一旦你删除帐户,你会发现,当你启动你的应用程序,并尝试login到Twitter现在你将被要求login。

一旦账户被添加,就没有办法取出账户(除非Twitter支持这个并公开)。用户必须手动进入设置 – > Twitter并从那里删除账户才能login一个不同的帐户。

另外我注意到,当你添加另一个账户到Twitter,试图login你将有机会login任何帐户时使用[[Twitter sharedInstance] logInWithCompletion:^(TWTRSession *session, NSError *error)

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

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

干杯!

Interesting Posts