首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用STTwitterAPI一次使用twitter登录

使用STTwitterAPI一次使用twitter登录
EN

Stack Overflow用户
提问于 2015-03-18 10:07:06
回答 1查看 346关注 0票数 0

如何通过使用authToken和authTokenSecret来检查用户是否已经使用twitter登录?

我正在使用此代码,但它的返回值不需要等待完成块执行。如何使用信号量或其他东西等待到块执行,然后函数返回其值。

代码语言:javascript
复制
- (BOOL)isTwitterLogin
{
  __block BOOL value;


    NSString *oauthToken=[[NSUserDefaults standardUserDefaults] valueForKey:@"iNtellTwitterToken"];
    NSString *oauthTokenSecret=[[NSUserDefaults standardUserDefaults] valueForKey:@"iNtellTwitterTokenSecret"];


    STTwitterAPI *twitterAPI = [STTwitterAPI twitterAPIWithOAuthConsumerKey:kTwitterConsumerKey consumerSecret:kTwitterConsumerSecret oauthToken:oauthToken oauthTokenSecret:oauthTokenSecret];

    [twitterAPI verifyCredentialsWithSuccessBlock:^(NSString *username)
     {
         /// we still good to go
         value=1;
     } errorBlock:^(NSError *error)
     {
         /// token has expired. User needs to login again
         value=0;
     }];
    return value;
}

我正在寻找最好的方法来执行这个方法。

提前谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-18 15:39:27

“最佳方式”可能会保持异步行为:

代码语言:javascript
复制
- (void)isTwitterLoginWithCompletionHandler:(void(^)(BOOL isTwitterLogin))completionHandler {

    NSString *oauthToken = [[NSUserDefaults standardUserDefaults] valueForKey:@"iNtellTwitterToken"];
    NSString *oauthTokenSecret = [[NSUserDefaults standardUserDefaults] valueForKey:@"iNtellTwitterTokenSecret"];

    if(oauthToken == nil || oauthTokenSecret == nil) {
        completionHandler(NO);
        return;
    }

    STTwitterAPI *twitterAPI = [STTwitterAPI twitterAPIWithOAuthConsumerKey:@""
                                                             consumerSecret:@""
                                                                 oauthToken:oauthToken
                                                           oauthTokenSecret:oauthTokenSecret];

    [twitterAPI verifyCredentialsWithSuccessBlock:^(NSString *username) {
        completionHandler(YES);
    } errorBlock:^(NSError *error) {
        completionHandler(NO);
    }];
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29119135

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档