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