stackoverflow上有多个线程,如下所示:How to programmatically send SMS on the iPhone? 讨论如何将SMS消息发送到指定的收件人列表。但我真的需要以某种方式让用户选择收件人来分享我的应用程序中的一些信息(理想情况下我还希望显示除文本正文之外的图像),有没有办法做到这一点?我知道我可以用Facebook SDK做这样的事情,但在这里我想使用SMS /默认信使。我正在使用Objective C进行开发。
答案 0 :(得分:1)
正如评论所说,MFMessageComposeViewController
包含一个与用户通讯录相关联的内置联系人选择器。如果您已经知道要发送给的收件人的地址,则可以自己设置MFMessageComposeViewController
。您可以(例如)使用AddressBook
框架并自行提取数字,但这将涉及:
MFMessageComposeViewController
除非你有令人信服的理由,否则我会避免这样做。
这是一个向两个收件人发送邮件以及邮件和附件的示例。
- (void)presentMessageViewController {
if ([MFMessageComposeViewController canSendText] &&
[MFMessageComposeViewController canSendAttachments]) {
MFMessageComposeViewController *messageViewController = [MFMessageComposeViewController new];
messageViewController.messageComposeDelegate = self;
messageViewController.recipients = @[@"867-5309",
@"1-800-MIX-A-LOT"];
messageViewController.body = @"Hey, Jenny and Sir Mix-A-Lot!";
[messageViewController addAttachmentData:UIImagePNGRepresentation([UIImage imageNamed:@"Funny Cats"])
typeIdentifier:@"public.data"
filename:@"image.png"];
[self presentViewController:messageViewController
animated:YES
completion:^{
nil;
}];
}
}
同样,除非您已经知道收件人的地址,否则收件人属性是可选的。用户将在MFMessageComposeViewController
自己输入该信息。