iOS SA_OAuthTwitterEngine验证,但不发布,也没有委托回调

时间:2011-12-16 00:15:29

标签: ios twitter oauth

我的SA_OAuthTwitterEngine似乎在我的iOS应用程序中工作正常,但几个月前,它停止了工作(编辑:在iOS 4或iOS 5中没有工作,并且在应用程序之前没有更改代码故障)。它正在验证和存储信誉,并将它们传递给我的数据库服务就好了。当我试图发布推文时,一切都记录正常,好像它正在经历正确的过程。所有令牌和用户名等正确传递。但是,我在Twitter上看不到任何帖子。我在帖子中使用了日期戳,并在两个不同的用户帐户上尝试了这个,而没有看到任何一个帐户的单个帖子。有趣的是, MGTwitterEngineDelegate 回调(requestSucceeded:requestFailed:)未被调用。我在MGTwitterEngine的connection:didReceiveResponse:connection:didReceiveData:connection:didFailWithError:中设置了断点,以查看它是否只是一个委托分配问题,但是从未达到这些断点,因此该应用似乎没有得到任何响应Twitter,尽管我每次都可以记录从引擎的sendUpdate:方法返回的连接标识符。如果我可以让代表接收连接的响应,也许我会看到一个错误。这就是我整天都在喋喋不休。任何帮助,将不胜感激。

代码在这里:

- (void)postTweetToTwitter 
{
    if (![[NSUserDefaults standardUserDefaults] objectForKey:TWITTER_USER]) {
        [[NSNotificationCenter defaultCenter] postNotificationName:@"ShowSettings" object:nil];
        return; //Makes sure user data is stored in NSUserDefaults before continuing, if not, settings will prompt for authentication
    }

    NSString *formattedDateString = [NSDateFormatter localizedStringFromDate:[NSDate date] dateStyle:kCFDateFormatterShortStyle timeStyle:kCFDateFormatterNoStyle];
    NSString *tweetMessage = [NSString stringWithFormat:@"%@: Tweet message goes here.",  formattedDateString];  

    if(!_engine){
        _engine = [[SA_OAuthTwitterEngine alloc] initOAuthWithDelegate:self];
        _engine.consumerKey    = kOAuthConsumerKey;
        _engine.consumerSecret = kOAuthConsumerSecret;      
    }

    UIViewController *controller = [SA_OAuthTwitterController controllerToEnterCredentialsWithTwitterEngine: _engine delegate: self];    
    if (controller)
        [self presentModalViewController: controller animated: YES];
    else {
        NSString *twitterConnectionIdentifier = [_engine sendUpdate:[NSString stringWithString:tweetMessage]];  
        NSLog(@"Twitter Connection Identifier : %@", twitterConnectionIdentifier);
    }
}

- (NSString *) cachedTwitterOAuthDataForUsername: (NSString *) username {      
    NSString *authData = [[NSUserDefaults standardUserDefaults] objectForKey:TWITTER_USER];
    if (authData) {
        return authData;
    } else return [NSString stringWithString:@"No Twitter Data"];
    //This just won't do anything, but we avoid this case in the first if statement above.   
}

1 个答案:

答案 0 :(得分:0)

我有同样类型的问题然后发现我的Twitter帐户被阻止/禁止发布。可能你有同样的问题。