iOS SA_OAuthTwitterEngine аутентифицируется, но не публикуется, и нет ответных вызовов делегатов - PullRequest
1 голос
/ 16 декабря 2011

У меня было 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 голосов
/ 09 января 2012

У меня была такая же проблема с типом, затем я узнал, что мой аккаунт в твиттере заблокирован / заблокирован для публикации. Может быть, у вас та же проблема.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...