首页 文章

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

提问于
浏览
8

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

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

如文档(https://dev.twitter.com/twitter-kit/ios-reference/twitter)所指定,这将删除本地会话,但不会使远程会话无效 . 结果是,一旦我再次使用同一用户登录,就有效地阻止了我切换用户 .

有帮助吗?

4 回答

  • 2

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

    Twitter.sharedInstance().logOut()
    
  • 2

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

    • 在设置> Twitter中登录Twitter

    • 切换到您的应用并尝试使用Twitter登录

    • 当授予访问权限对话框出现时,禁止访问Twitter帐户:

    Twitter account access dialog

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

    (最初 Twitter.sharedInstance().logOut() 破坏本地 Session ...)

  • 1

    使用方法

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

    参数TWTRLoginMethodWebBasedForceLogin

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

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

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

    删除帐户后,您会发现当您启动应用并尝试登录Twitter时,系统会要求您登录 .

    一旦添加了帐户,就无法取出帐户(除非Twitter支持并将其公开)用户必须手动进入设置 - > Twitter并从那里删除帐户才能登录一个不同的帐户 .

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

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

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

    干杯!

相关问题