2012-02-10 127 views
0

在我的iOS应用程序后鸣叫发送画面,我试图传送Tweet一旦发送短信。这里的问题是它显示短信屏幕,然后点击发送按钮,然后控制来到我的“发送Tweet”方法,但它没有显示“Tweet”发送屏幕。iPhone为什么没有显示发送短信

当我打电话给我的“传送Tweet”的方法,而不调用短信发送功能,它的工作原理和显示鸣叫发送screen.but为什么不显示鸣叫发送短信后发送画面。

//================================================================================= 
- (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; 
     } 
} 
+0

您是否尝试过把'SendTweet'的'MessageComposeResultSent'盒内?或者在'dismissModalViewControllerAnimated'之前。 – antf 2012-02-10 09:06:18

+0

@antf:感谢您的回复,并尝试过你的方式,但它现在还不能正常工作 – user198725878 2012-02-10 09:27:50

+0

self is present modal? – 2012-02-10 09:33:14

回答

0

要在当前对象上主线程中执行的问题,但一旦你打电话给你的对象将被释放[自dismissModalViewControllerAnimated:YES];

所以,你需要的sendTweet方法传递给生命的物体。

编辑:

您可以实现一个委托协议,并告诉呈现您的modalView到sendTweet的的viewController(发送鸣叫方法必须在parentViewController)。

+0

感谢您的答复..请让我知道我应该如何调用该方法 – user198725878 2012-02-10 10:04:38

0

你为什么不使用,而不是一个performSelectorOnMainThread通知中心所描述here。如果您需要更多关于通知中心的详细信息,您可能会喜欢here。我希望这有帮助。