Twitter.framework - сессия твиттера прервана, перезапуск - PullRequest
3 голосов
/ 26 января 2012

У меня проблема с новым Twitter.framework, для которого я пока не могу найти решение.

Вот мой код:

if ([TWTweetComposeViewController canSendTweet]){
    TWTweetComposeViewController *twitter = [[TWTweetComposeViewController alloc] init];

    [twitter addImage:tweetImage];
    [twitter setInitialText:initalString];
    [twitter addURL:url];

    twitter.completionHandler = ^(TWTweetComposeViewControllerResult result) {
        if (result == TWTweetComposeViewControllerResultDone) {

            dispatch_async(dispatch_get_main_queue(), ^{
                UIAlertView* alertView = [[UIAlertView alloc] initWithTitle:@"Tweeted"
                                                                              message:@"You successfully tweeted"
                                                                           delegate:self cancelButtonTitle:@"OK"
                                                                  otherButtonTitles:nil];
                [alertView show];
                [alertView release];
            });

        } else if (result == TWTweetComposeViewControllerResultCancelled) {
            dispatch_async(dispatch_get_main_queue(), ^{
                UIAlertView* alertView = [[UIAlertView alloc] initWithTitle:@"Twitter"
                                                                            message:@"Tweet has been canceled"
                                                                           delegate:self
                                                                  cancelButtonTitle:@"OK"
                                                                  otherButtonTitles:nil];
                 [alertView show];
                 [alertView release];
            });
       }

       dispatch_async(dispatch_get_main_queue(), ^{
           [self  dismissModalViewControllerAnimated:YES];
        });

    };

    [self presentViewController:twitter animated:YES completion:nil];
    [twitter release];
}

Кажется,стандартный способ реализации этого, хотя я сделал добавление постановки в очередь в пользовательском интерфейсе в основном потоке.Параметры addImage, setInitialText и addURL все хороши.На самом деле это работает большую часть времени.Проблема, с которой я сталкиваюсь, заключается в том, что иногда, когда TWTweetComposeViewController выделяется, инициализация приложения останавливается, и я вижу " сессия твиттера прервана, перезапуск ... " в консоли.Приложение иногда зависает только на несколько секунд, но чаще оно зависает на неоправданное количество времени (20 - 30 секунд или более), я получу множество таких сообщений, а затем контроллер твиттера, наконец, выскользнет.Иногда также он просто зависает и никогда не возвращается.

Интересно, кто-нибудь видел эту проблему раньше или есть идеи по ее решению?

Заранее спасибо.

1 Ответ

1 голос
/ 16 февраля 2012

Я никогда не добавляю эти проблемы с контроллером твиттера. Я использовал мой код, вставленный в этот пост: https://stackoverflow.com/questions/9314308/can-twtweetcomposeviewcontroller-tweet-sheet-rotate-to-landscape

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

...