MFMessageComposeViewController无法发送

时间:2013-11-12 17:48:35

标签: ios objective-c ios7 sms mfmessagecomposeview

我正在尝试让用户通过短信发送电话验证文字。他们第一次尝试将消息发送到数字时,看起来消息通过,我们得到MessageComposeResultSent的回调。但是,实际上没有消息排队或发送。看看iMessage,列表顶部有一个电话号码记录,但没有消息,只是一个空白屏幕。如果再次尝试将SMS发送到相同的号码,则会通过。实现看起来很简单,所以不确定这是一个错误还是我做错了什么。

这是我们的代码:

MFController = [[MFMessageComposeViewController alloc] init];

if([MFMessageComposeViewController canSendText])
{

    self.MFController.body = [NSString stringWithFormat:@"Please send this message to verify your phone number.\n\n(%@)",token];
    self.MFController.recipients = [NSArray arrayWithObject:@"+PHONENUMBER"];
    self.MFController.messageComposeDelegate = self;    
    [self presentViewController:MFController animated:YES completion:nil];
}

我尝试直接在方法中声明MFController,作为一个强大的属性。我也尝试在ViewDidLoad中初始化MFController无济于事。

更新:我并不孤单。关于Apple Dev Forum的最新帖子。如果有人有创意解决方案,请发帖!

此外,重新启动手机似乎解决了大多数用户的问题,但我们无法处理发送失败,因为我们收到了MessageComposeResultSent结果。

1 个答案:

答案 0 :(得分:0)

你是否符合代表的要求?

如果您将实例创建为属性,则可以通过self访问它,

self.MFController = [[MFMessageComposeViewController alloc] init];

    if([MFMessageComposeViewController canSendText])
    {

        self.MFController.body = [NSString stringWithFormat:@"Please send this message to verify your phone number.\n\n(%@)",token];
        self.MFController.recipients = [NSArray arrayWithObject:@"+PHONENUMBER"];
        self.MFController.messageComposeDelegate = self;    
        [self presentViewController:self.
MFController animated:YES completion:nil];
    }

让我知道它是否有效。