4

MFMesageComposeViewController用来发送消息,这给我带来了问题。

当我向多个收件人发送消息时,无论iMessages是从设置中启用还是禁用,它都可以正常工作。但是,当我向单个联系人发送消息并从设置中启用iMessage时,它​​会在 Message App 中给我“传递失败”并将其显示为iMessage

我如何强制MFMessageComposeViewController将其作为蜂窝消息发送。

我的代码是:

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

2 回答 2

2

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

于 2013-03-13T07:25:08.990 回答
1

Apple 没有提供任何方法来检测消息是作为“iMessage”还是“SMS”发送的。

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

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

于 2013-03-13T07:36:19.530 回答