iOS — лист твитов не отображается — SLComposeViewControllerResultCancelled вызывается автоматически

Я использую SLComposeViewController для отправки твита. У меня есть все необходимые разрешения от Twitter для отправки твита, однако, когда я представляю твит-лист, он никогда не отображается. Из отладки моего кода я вижу, что обработчик завершения SLComposeViewController's автоматически вызывается в результате SLComposeViewControllerResultCancelled.

Кто-нибудь сталкивался с этим раньше? Как я уже сказал, у меня есть все необходимые разрешения, и моя учетная запись Twitter и пароль правильно настроены в настройках моего iPhone.

ИЗМЕНИТЬ

Это случается только иногда. В большинстве случаев у меня нет проблем с листом твитов, поэтому код работает, но некоторые пользователи сталкиваются с этим.

Благодарность

Мой код здесь:

- (void)presentTweetSheet {

SLComposeViewController *tweetSheet = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeTwitter];
tweetSheet.completionHandler = ^(SLComposeViewControllerResult result) {
    switch (result) {
        case SLComposeViewControllerResultCancelled:
            SWLog(@"Tweet Cancelled");
            break;
        case SLComposeViewControllerResultDone:
            SWLog(@"Tweet sent");
        break;
        default:
            break;
    }
};

UIWindow *window = [UIApplication sharedApplication].keyWindow;
ECSlidingViewController *slidingVC = (ECSlidingViewController *)window.rootViewController;
[slidingVC.topViewController presentViewController:tweetSheet animated:YES completion:^{
    SWLog(@"Tweet sheet displayed");
    [self removeActivityIndicatorFromCell];
}];
}

person Brian Boyle    schedule 27.02.2014    source источник
comment
Возможно, вы захотите вернуться к довольно хакерскому способу получения текущего viewController. На вашем месте я бы полностью воздержался от предположений о текущем состоянии ключевого окна приложения. Кроме того, приведение текущего rootViewController к вашему ECSlidingViewController без проверки - это немного в стиле гетто;).   -  person Till    schedule 27.02.2014


Ответы (1)


Я проверил несколько приложений с одним и тем же кодом, написанным в них, ни одно из них не сработало. Пробовал разобрать по коду, не помогло. Итак, я перезагрузил свой iPhone, и он РАБОТАЕТ! Надеюсь это поможет

person Fahad Ajmal    schedule 15.01.2015