如何存储和访问Twitter Fabric登录会话(iOS/Swift)?

And*_*rew 6 twitter ios swift twitter-fabric

我可以使用这个Twitter Fabric代码通过我的应用程序登录Twitter:

 let logInButton = TWTRLogInButton(logInCompletion: {
        (session: TWTRSession!, error: NSError!) in
             // play with Twitter session
             if (session != nil) {
                 println("signed in as \(session.userName)");
                 self.TWUsernameLabel.text = "Logged in as @" + session.userName
        } else {
            println("error: \(error.localizedDescription)");
        }
    })
Run Code Online (Sandbox Code Playgroud)

当我点击登录按钮时,它会提示我批准登录,然后登录,或者它知道我已经批准了登录,它会让我登录.这就像一个魅力,并花了十分钟设置.惊人.

我已经有一个基于电子邮件的登录来访问该应用程序.我想将用户登录的Twitter帐户存储在同一个数据库中,因此当用户使用他们的电子邮件登录时,我已经知道他们的Twitter(如果他们之前已经登录)并且他们不需要再次登录.我进行电子邮件登录的原因是因为Twitter是我的应用程序中的一个重要功能,但不是一个完整的要求.

问题是我不知道如何在session单击按钮并logInCompletion触发时访问外部,并且我不知道在初次登录/使用应用程序时检查时要存储哪些变量.

我已经多次阅读过Twitter Fabric文档,但它不是用swift编写的,所以它很混乱.有任何想法吗?谢谢

Dar*_*are 3

如果当前有一个活动会话,您应该能够访问它,就像文档所说的那样

Twitter.sharedInstance().session() 
Run Code Online (Sandbox Code Playgroud)

如果用户未登录,该方法将返回 nil。如果您想知道某人是否已经通过身份验证,只需检查该方法是否返回值即可。

  • 实际上,正确的答案是 Twitter.sharedInstance().sessionStore.session(),因为每台设备和每个应用程序可以拥有多个 Twitter 帐户。 (2认同)