2013-08-30 80 views
4

我在我的iOS应用程序中使用MFMessageComposeViewController。MFMessageComposeViewController停止短信消息

MFMessageComposeViewController *controller = [[[MFMessageComposeViewController alloc] init]; 
if([MFMessageComposeViewController canSendText]){ 
    controller.body = text; 
    controller.recipients = [NSArray arrayWithObjects:recipient,nil]; 
    controller.messageComposeDelegate = self.navigationController; 
    [self.navigationController presentViewController:controller animated:YES]; 
} 

-(void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result { 
[self dismissModalViewControllerAnimated:YES]; 
} 

按钮“发送消息”为蓝色。如果您不发送消息给iMessage用户,iPhone会发送短信而不是iMessage,但在某些设备(iPhone 4,5)上操作失败。在那个错误之后,你根本无法发送消息给用户!在iPhone中使用标准的短信应用程序。

删除联系人,重新启动,关闭iMessage并不能解决此问题。 MFMessageComposeViewController杀死短信发送,我们不能解决这个问题。 我们在测试设备上有iOS 6.1.3版本。

+0

你确定你的意思是设置messageComposeDelegate导航控制器?如果你已经划分了一个导航控制器,那只会做一些合理的事情。虽然可能不会解决问题,因为这看起来更像是一个Apple bug。 –

回答

0

尝试

controller.messageComposeDelegate = self; 
+0

更多的上下文/解释会有帮助。 – Thomas