在 iOS 上通过默认信使向用户选择的收件人发送短信
Send SMS to user selected recipients via default messenger on iOS
Whosebug 上有多个线程,例如:How to programmatically send SMS on the iPhone?
讨论如何将 SMS 消息发送到指定的收件人列表。但我真的需要以某种方式让用户 select 收件人分享我的应用程序中的一些信息(理想情况下我还想显示除文本正文之外的图像),有没有办法做到这一点?我知道我可以用 Facebook SDK 做这样的事情,但在这里我想使用 SMS/default 信使。我正在使用 Objective C 进行开发。
如评论所述,MFMessageComposeViewController
包括一个链接到用户地址簿的内置联系人选择器。如果您已经知道收件人的地址,您可以自己设置 MFMessageComposeViewController
。您可以(例如)使用 AddressBook
框架并自己提取数字,但这将涉及:
- 请求用户许可
- 为用户显示 select 号码的界面
- 将该信息提供给
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
中自己输入该信息。
Whosebug 上有多个线程,例如:How to programmatically send SMS on the iPhone? 讨论如何将 SMS 消息发送到指定的收件人列表。但我真的需要以某种方式让用户 select 收件人分享我的应用程序中的一些信息(理想情况下我还想显示除文本正文之外的图像),有没有办法做到这一点?我知道我可以用 Facebook SDK 做这样的事情,但在这里我想使用 SMS/default 信使。我正在使用 Objective C 进行开发。
如评论所述,MFMessageComposeViewController
包括一个链接到用户地址簿的内置联系人选择器。如果您已经知道收件人的地址,您可以自己设置 MFMessageComposeViewController
。您可以(例如)使用 AddressBook
框架并自己提取数字,但这将涉及:
- 请求用户许可
- 为用户显示 select 号码的界面
- 将该信息提供给
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
中自己输入该信息。