可以将发送到MFMessageComposeViewController的收件人格式化为显示名称而不是电话号码吗?

时间:2011-04-01 13:04:49

标签: iphone cocoa-touch ios4

发送电子邮件时,如果我使用带有“名称”的标准RFC822收件人格式设置MFMailComposeViewController收件人,MFMailComposeViewController将格式化视图中的收件人以显示隐藏电子邮件地址的名称。所以这样做:

MFMailComposeViewController *composer = [[MFMailComposeViewController alloc] init];

NSArray *recipients = [NSArray arrayWithObjects:
                           @"\"Bob Paulsen"\ <bob@gmail.com>", 
                           @"\"Sally"\ <sally@gmail.com>", nil
                      ];
[composer setToRecipients:recipients];

结果如下: enter image description here

我的问题是:我可以使用魔术格式在MFMessageComposeViewController中使用短信收件人做同样的事情吗?我尝试使用与电子邮件相同的格式,但它包含收件人字段中的所有文本(名称和号码)。我尝试过其他一些排列,但到目前为止还没有找到解决方案。

2 个答案:

答案 0 :(得分:3)

执行此操作的唯一方法是在用户的地址簿中添加一个带有收件人号码的新联系人。请参阅ABAddressBook框架中的ABAddressBookAddRecord函数。

但是,请确保您的用户知道这种情况正在发生并且可以正常使用...

答案 1 :(得分:0)

我正在使用XCode 7.2(Apple Swift版本2.1.1),以下代码适用于我(没有收件人的电子邮件地址保存在我的地址簿中):

let picker = MFMailComposeViewController()    
let recipients = ["\"Name Here\" <email@domain.com>"]
picker.setToRecipients(recipients)