您的位置:首页 > 移动开发 > IOS开发

iOS 打电话,发短信,发邮件 方法汇总

2015-09-20 10:41 525 查看
一.打电话

//打电话

//弊端:使用该方法进行拨号之后,当电话挂断之后不会返回应用程序,会停留在通话记录界面

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(@"发送失败");
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: