ios - MFMessageComposeViewController 发送失败

标签 ios objective-c ios7 sms mfmessagecomposeviewcontroller

我正在尝试让用户通过短信发送电话验证文本。他们第一次尝试将消息发送到一个号码时,看起来消息通过了,我们得到了一个带有 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,作为 ivar 的强属性。我也尝试在 ViewDidLoad 中初始化 MFController 无济于事。

更新:我并不孤单。 Apple Dev Forum 上有很多最新帖子。如果有人有创造性的解决方法,请发布!

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

最佳答案

你符合委托(delegate)人的要求吗?

如果您将实例创建为属性并通过自身访问它,

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];
    }

让我知道它是否有效。

关于ios - MFMessageComposeViewController 发送失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19936298/

相关文章:

ios - NSNumber objCType EXC_BAD_ACCESS

ios - 在 iOS : Lines and Rectangles 中创建 PDF

objective-c - AVFoundation 录制 - 奇怪的错误 : Index Out of Bounds

iOS SDK : MapKit MKPolyLine not showing

ios - 在 For 循环的每次迭代中创建一个新数组

ios - 我正在尝试在没有Pod的项目中实现Afnetworking,只是将文件复制粘贴到我的项目中,但无法正常工作

swift - Segue "show detail"在 iOS 7 中不起作用 - Swift

ios - "Export"核心数据与魔法记录

ios - Xcode 将特殊字符(NSString)转换为 NSData

objective-c - OpenCL 到 OpenGL 纹理问题