iPhone почему не отображается экран отправки твитов после отправки смс - PullRequest
0 голосов
/ 10 февраля 2012

В моем iOS-приложении я пытаюсь отправить твит после отправки SMS.в чем проблема, так это то, что он показывает экран смс и нажимает кнопку «отправить», затем элемент управления переходит к моему методу «Отправить твит», но не показывает экран отправки «твит».

И когда я вызываю мой «Отправить»"Tweet", не вызывая функции отправки смс, работает и показывает экран отправки твитов. Но почему не отображается экран отправки твитов после отправки смс.

//================================================================================= 
- (void)messageComposeViewController:(MFMessageComposeViewController *)controller
didFinishWithResult:(MessageComposeResult)result {
    //================================================================================= 
    switch (result)
    {

        case MessageComposeResultCancelled:
            NSLog(@"Result: canceled");
            break;
        case MessageComposeResultSent:
            NSLog(@"Result: sent");
            [self logSMSSentInfo];
            break;
        case MessageComposeResultFailed:
            NSLog(@"Result: failed");
            break;
        default:
            NSLog(@"Result: not sent");
            break;
    }

   [self dismissModalViewControllerAnimated:YES];

   [self performSelectorOnMainThread:@selector(SendTweet) withObject:nil waitUntilDone:NO];


}

// this function is to send tweet
//============================================
-(void)sendTweet:(NSString*)inTweetAccountInfo{
//============================================

    if ([TWTweetComposeViewController canSendTweet])
     {
     NSString *aTweetMsg;
        }
}

Ответы [ 2 ]

0 голосов
/ 10 февраля 2012

Почему бы вам не использовать Центр уведомлений вместо performSelectorOnMainThread, как описано здесь .Если вам нужна более подробная информация о Центре уведомлений, вы можете посмотреть здесь .Надеюсь, это поможет.

0 голосов
/ 10 февраля 2012

Проблема, которую вы хотите выполнить в главном потоке текущего объекта, но ваш объект будет освобожден после вызова [self dismissModalViewControllerAnimated: YES];

Так что вам нужно передать метод sendTweet вживой объект.

Редактировать:

Вы можете реализовать протокол делегата и сообщить viewController, который представляет ваш modalView для sendTweet (метод отправки в твиттере должен быть в parentViewController).

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