MFMessageComposeViewController打开MMS编辑而不是短信和“好友名称”文本而不是电话号码

时间:2013-11-13 10:15:36

标签: ios objective-c sms mfmessagecomposeview

我开发了一个带有功能的IOS应用程序,它将带有源代码生成文本的SMS发送给源代码生成的电话接收者。

对于~100个用户来说它可以工作好几个月,但是现在我遇到了一个有趣的错误:当SMS UI出现时,而不是我传递给它的电话号码,有一个“好友名称”文本,而不是短信消息类型是MMS。它发生在带有IOS 7的iPhone 4上。

我使用它的方式(电话号码是NSString):

NSArray* recipients = [NSArray arrayWithObject:telephoneNumber];

MFMessageComposeViewController *controller = [[MFMessageComposeViewController alloc] init];
if([MFMessageComposeViewController canSendText])
{
    controller.body = message;
    controller.recipients = recipients;
    controller.messageComposeDelegate = self;
    [self presentViewController:controller animated:YES completion:nil];
}

是否还有其他设置,方法调用(...)以避免这种奇怪的行为?

非常感谢!

1 个答案:

答案 0 :(得分:8)

我遇到了同样的问题并发现了这个问题。这个问题已经解决了吗?

在我发现错误之前,我认为这是一个iOS 7错误。我已将@"?"字符串添加到recipients数组而不是电话号码。当消息编写器看到无效的数字时,它会显示“好友名称”。纠正错误后,显示“新消息”而不是“新彩信”。