Nei*_*ham 7 twitter session ios swift twitter-fabric
我一直在用Twitter.sharedInstance().session()?.userName
iOS(在Swift中)的Label中显示用户的推特地址.现在我注意到我们得到以下弃用警告:
- [Twitter会话]很快将被弃用.如果用户管理多个用户,建议用户使用 - [TWTRSessionStore session]或 - [TWTRSessionStore sessionForUserID:]
我切换到推荐的方式,并期望找到一个.userName
属性,但找不到一个.
人们如何才能Twitter.sharedInstance().session()?.userName
继续前进呢?
小智 9
好的,我也遇到了这个问题,似乎所有新的更改(无可否认地记录很少)都旨在允许更好地控制同时存在的多个用户会话.我做了一些深入研究TWTRSessionStore
他们在警告中提到的类,我发现虽然TWTRSessionStore的具体实现没有-session
属性,但它遵循以下协议<TWTRUserSessionStore, TWTRGuestSessionStore, TWTRSessionRefreshingStore>
并且TWTRUserSessionStore
具有-session
属性.
总而言之,这就是我注销的方式:
NSString *userID = [[[[Twitter sharedInstance] sessionStore] session] userID];
if(userID){
[[[Twitter sharedInstance] sessionStore] logOutUserID:userID];
}
Run Code Online (Sandbox Code Playgroud)
我明确地在Objective-C中这样做,但Swift版本非常相似.
如果您仍在寻找解决方案,请参阅以下内容:
if let session = Twitter.sharedInstance().sessionStore.session() {
let client = TWTRAPIClient()
client.loadUserWithID(session.userID) { (user, error) -> Void in
if let user = user {
print("@\(user.screenName)")
}
}
}
Run Code Online (Sandbox Code Playgroud)