有没有办法检查用户是否使用Twitter登录?

时间:2014-08-21 05:27:23

标签: ios api twitter parse-platform

我正在学习本教程

https://parse.com/docs/ios_guide#twitterusers/iOS

对于这个应用程序,我正在用Twitter交易登录。有一个问题。如果用户未登录到twitter(他们没有从设置中登录),则此代码运行时不会显示任何内容:

[PFTwitterUtils logInWithBlock:^(PFUser *user, NSError *error) {
    if (!user) {
        NSLog(@"Uh oh. The user cancelled the Twitter login.");
        return;
    } else if (user.isNew) {
        NSLog(@"User signed up and logged in with Twitter!");
    } else {
        NSLog(@"User logged in with Twitter!");
    }    
}];

我想知道是否有办法检查用户是否已从设置中登录,因此我可以设置一条消息,说明他们应该从设置中登录。有谁知道检查这个的方法?

3 个答案:

答案 0 :(得分:1)

您可以检查服务是否可用,如果没有,则执行任何操作。这是检查设置| Twitter

中是否有帐户

这是在Swift中,但你明白了

import Social

if !SLComposeViewController.isAvailableForServiceType(SLServiceTypeTwitter){
        println("No Account Setup")
    } else {
        println("Yes Account Setup")
    }

答案 1 :(得分:1)

雨燕4

我正在使用TwitterKit并将其与cocoapod一起安装 Twitterkit具有会话存储,用于存储已登录用户的会话。

if TWTRTwitter.sharedInstance().sessionStore.session() != nil {
            print("user signed in with twitter ..")
}

从Twitter注销

func logoutTwitter() {
        let store = TWTRTwitter.sharedInstance().sessionStore
        if let userID = store.session()?.userID {
            store.logOutUserID(userID)
        }
}

这是获取有关登录用户的信息的方法

func getTwitterUserInformation() {
    let store = TWTRTwitter.sharedInstance().sessionStore
    if let userID = store.session()?.userID {

        let client = TWTRAPIClient.withCurrentUser()
        client.loadUser(withID: userID) { (user, error) in
            print(user?.name)
            print(user?.screenName)
        }

    }
}

答案 2 :(得分:0)

Swift 3

let twitterSession = Twitter.sharedInstance().sessionStore.session()

返回

未登录用户:nil

登录用户:TWTRSession

相关问题