TwitterKit偶尔会为现有用户返回nil会话

时间:2016-12-01 11:04:37

标签: ios twitter twitter-fabric

当用户打开我的应用时,登录流程如下:

  1. 使用Twitter.sharedInstance().start(withConsumerKey: consumerKey, consumerSecret: consumerSecret)启动TwitterKit。
  2. 使用Fabric.with([Crashlytics.self, Twitter.self])启动Fabric。
  3. 使用Twitter.sharedInstance().sessionStore.session()检查现有会话。
  4. 如果没有现有会话,请允许他们使用Twitter.sharedInstance().logIn(withMethods: TWTRLoginMethod.webBasedForceLogin)登录。
  5. 我看到一个间歇性的问题很常见,用户在之前登录后会打开应用程序,并且没有现有的会话 - 它将返回nil,因此他们被要求登录再次。但是如果他们退出应用程序或取消新登录,然后再次启动应用程序,将按预期返回现有会话。

1 个答案:

答案 0 :(得分:0)

我认为您必须使用saveSession方法保存会话,如下所示

func saveSession(session: TWTRSession) {
    TWTRTwitter.sharedInstance().sessionStore.save(session) { (session, error) in
        print(session)
        if let error = error {
            print(error)
        }
    }
}