MFMessageComposeViewController:如何限制发送消息为Cellular Message而不是iMessage

时间:2013-03-13 07:21:36

标签: iphone ios objective-c xcode mfmessagecomposeview

我使用MFMesageComposeViewController发送消息,这会给我带来麻烦。

当我向多个收件人发送邮件时,无论 iMessages 是启用还是禁用设置,都可以正常工作。但是当我向单个联系人发送消息并且 iMessages 从设置中启用时,它会在消息应用程序中为我提供“交付失败”并将其显示为 iMessage

如何强制MFMessageComposeViewController将其作为手机短信发送。

我的代码是:

[[[MFMessageComposeViewController alloc] init] autorelease];
if ([MFMessageComposeViewController canSendText]) {
    controller.body = @"Sample Text Message";
    controller.recipients = [NSArray arrayWithObject:@"XXXXXXXXXXXX"];
    controller.messageComposeDelegate = self;
    }

2 个答案:

答案 0 :(得分:2)

简而言之 - 你做不到。如果在设备上启用了iMessage并且收件人可用作iMessage客户端,则该消息将作为iMessage发送。此行为由iOS本身定义,您无法更改它。

答案 1 :(得分:1)

Apple没有提供任何方法来检测邮件是以'iMessage'还是'SMS'发送。

此外,如果您没有连接到互联网,您的邮件将不会作为iMessage发送。如果您的互联网连接速度较慢,您的邮件将自动作为短信发送。

如果收件人可用作iMessage客户端并且您的设备上启用了iMessage,那么您的邮件将作为iMessage发送。如果那时你没有连接到互联网,那么“发送”按钮将被自动禁用。

相关问题