一.打电话
//打电话
//弊端:使用该方法进行拨号之后,当电话挂断之后不会返回应用程序,会停留在通话记录界面
NSURL *url=[NSURL URLWithString:@"tel://10010"];
[[UIApplication sharedApplication] openURL:url];
NSLog(@"tel://10010");
//在拨打之后会提示用户是否拨打,当电话挂断之后会返回应用程序
//弊端:因为是私有API,所有可能不会被审核通过
NSURL *url1=[NSURL URLWithString:@"telprompt://10010"];
[[UIApplication sharedApplication] openURL:url1];
//真实开发用此种方式
if (_webView==nil) {
_webView = [[UIWebView alloc] initWithFrame:CGRectZero];
}
[_webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"tel://10010"]] ];
二.发短信
//如果利用该方式发送短信,当短信发送完毕或取消之后不会返回应用程序
NSURL *url = [NSURL URLWithString:@"sms://10010"];
[[UIApplication sharedApplication] openURL:url];
//导入MessageUI框架,用此种方式发送短信
if (![MFMessageComposeViewController canSendText]) {
NSLog(@"该设备不能发送短信");
return ;
}
//发短信
MFMessageComposeViewController *vc=[[MFMessageComposeViewController alloc] init];
//设置短信内容
vc.body=@"短信内容";
//设置收件人列表
vc.recipients=@[@"10010",@"02010010"];
//设置代理
vc.messageComposeDelegate=self;
//显示控制器
[self presentViewController:vc animated:YES completion:nil];
//判断短信发送状态,取消发送短信模态视图
-(void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result
{
//取消发短信模态视图
[controller dismissViewControllerAnimated:YES completion:nil];
if (MessageComposeResultCancelled==result) {
NSLog(@"取消发送");
}
else if(MessageComposeResultSent==result)
{
NSLog(@"发送成功");
}
else
{
NSLog(@"发送失败");
}
}
三.发送邮件
if (![MFMailComposeViewController canSendMail]) {
return ;
}
//发送邮件
MFMailComposeViewController *vc=[[MFMailComposeViewController alloc] init];
//设置邮件主题
[vc setSubject:@"会议"];
//设置邮件内容
[vc setMessageBody:@"今天下午开会“" isHTML:NO];
//设置收件人列表
[vc setToRecipients:@[@"1198071487@qq.com"]];
//设置抄送人列表
[vc setCcRecipients:@[@"1198071487@qq.com"]];
//设置密送人列表
[vc setBccRecipients:@[@"563154033@qq.com"]];
//添加附件(一张图片)
UIImage *image=[UIImage imageNamed:@"picture.jepg"];
NSData *data =UIImageJPEGRepresentation(image, 0.5);
[vc addAttachmentData:data mimeType:@"image/jepg" fileName:@"picture.jepg"];
//设置代理
vc.mailComposeDelegate=self;
//显示控制器,以模态方式打开
[self presentViewController:vc animated:YES completion:nil];
#pragma mark -MFMailComposeViewControllerDelegate
-(void)mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error
{
//关闭邮件界面
[controller dismissViewControllerAnimated:YES completion:nil];
if (MFMailComposeResultCancelled==result) {
NSLog(@"取消发送");
}
else if(MFMailComposeResultSent==result)
{
NSLog(@"发送成功");
}
else if (MFMailComposeResultSaved==result)
{
NSLog(@"保存成功");
}
else
{
NSLog(@"发送失败");
}
}