如何通过IBAction直接发送短信(使用MFMessageComposeViewController
)?例如,当按下按钮时,将发送带有预设号码的文本消息,并且不会显示任何键盘或任何内容。只是一个警告说"短信已成功发送,"例如。
所有编码都已完成,除此之外"直接发送功能"。
答案 0 :(得分:4)
嗯,你不能在技术上"自动发送"消息,因为它需要用户确认才能通过。
但是,您可以使用MFMessageComposeViewController
(非常满口)设置消息的内容和收件人,并显示一个对话框,需要额外一次点击才能发送。
要访问该对话框,您必须$results = DB::select('SELECT * FROM database01.table1 t1, database02.table2 t2 WHERE t1.id1=t2.id2');
并将#import <MessageUI/MessageUI.h>
添加到头文件中的视图控制器声明中。
然后,您可以编写MFMessageComposeViewControllerDelegate
。首先,您要检查设备是否可以使用canSendText
实际发送包含文本内容的邮件。然后,您将创建视图控制器,使用数据填充它,并显示对话框。
IBAction
最后一件事:你必须实现一个委托方法,告诉消息视图控制器在用户按下&#34;取消&#34;在发送对话框中:
- (IBAction)sendMessage:(UIButton *)sender {
if([MFMessageComposeViewController canSendText]) {
MFMessageComposeViewController *messageController = [[MFMessageComposeViewController alloc] init]; // Create message VC
messageController.messageComposeDelegate = self; // Set delegate to current instance
NSMutableArray *recipients = [[NSMutableArray alloc] init]; // Create an array to hold the recipients
[recipients addObject:@"555-555-5555"]; // Append example phone number to array
messageController.recipients = recipients; // Set the recipients of the message to the created array
messageController.body = @"Example message"; // Set initial text to example message
dispatch_async(dispatch_get_main_queue(), ^{ // Present VC when possible
[self presentViewController:messageController animated:YES completion:NULL];
});
}
}