iOS 系统发邮件,发短信,打电话,粘贴板
来源:互联网 发布:亦雨轩民生抢购软件 编辑:程序博客网 时间:2024/05/04 20:37
1、要想利用系统的邮箱系统,首先需要包函头文件,
#import <MessageUI/MFMailComposeViewController.h>// #import <MessageUI/MessageUI.h> // 导入这个头文件的话,也可以(包含邮件,信息头文件)
2、发送邮件有2中方式,建议用真机调试,
(1)直接使用[[UIApplication sharedApplication]openURL:]方式打来,但是缺点就是在操作完邮件(发送,取消)之后,不会跳回到当前的应用程序,而是停留在邮件界面,并且不能设置其他的属性,这个不需要遵守代理,
if ([MFMailComposeViewController canSendMail]) { // 判断是非可以发送邮件 [[UIApplication sharedApplication]openURL:[NSURL URLWithString:[NSString stringWithFormat:@"mailto://%@",@"XXX@qq.com"]]]; } else { NSLog(@"暂不支持发送邮件"); }
(2)遵守邮件的代理,MFMailComposeViewControllerDelegate,设置代理,实现代理方法,这个方法的优点就是,在当前页面调用邮件界面,操作完成之后,会停留在当前界面的,
if ([MFMailComposeViewController canSendMail]) { // 判断是非可以发送邮件 MFMailComposeViewController *mailVC = [[MFMailComposeViewController alloc] init]; mailVC.mailComposeDelegate = self; // 不要使用mailVC.delegate代理,用这个代理的话,下面的代理是不调用的 [mailVC setSubject:@"hahahahah"]; // 设置邮件主题 [mailVC setToRecipients:@[@"XXX@docy.co"]]; // 设置接收者(发送给谁),可以有多个 [mailVC setCcRecipients:@[@"aaa@docy.co",@"bbb@docy.co"]]; // 设置抄送者(抄送给谁),可以有多个 [mailVC setBccRecipients:@[@"qqq@docy.co",@"www@docy.co"]];// 设置密送者(密送给谁),可以有多个 [mailVC setMessageBody:@"behvfebuyvbdyusefvdv" isHTML:NO]; // 设置邮件发送内容// [mailVC addAttachmentData:<#(nonnull NSData *)#> mimeType:<#(nonnull NSString *)#> fileName:<#(nonnull NSString *)#>] // 给邮件添加附件(文件等) [self presentViewController:mailVC animated:YES completion:nil]; } else { NSLog(@"暂不支持发送邮件"); }
代理方法:回调结果有4中MFMailComposeResultCancelled, // 取消MFMailComposeResultSaved, // 保存MFMailComposeResultSent, // 发送成功MFMailComposeResultFailed // 发送失败
- (void)mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error{ if (MFMailComposeResultCancelled == result || result == MFMailComposeResultFailed) { NSLog(@"取消发送"); } else if (result == MFMailComposeResultSent){ NSLog(@"发送成功"); } [self dismissViewControllerAnimated:YES completion:nil];}
系统的邮件发送的内容就那么多,其实用起来很简单的,下面介绍一下系统信息的使用。
3、系统发短信的调用和邮件的方式差不多,首先你需要包含头文件,
#import <MessageUI/MFMessageComposeViewController.h>#import <MessageUI/MessageUI.h> // 导入这个头文件的话,也可以(包含邮件,信息头文件)
4、系统的发短信调用同样有2中方式,
(1)利用[[UIApplication sharedApplication]openURL:]方式打来,但是缺点就是在操作完(发送,取消)之后,不会跳回到当前的应用程序,不能设置其他的属性,这个不需要遵守代理,
if ([MFMessageComposeViewController canSendText]) { // 判断是否可以发送信息 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"sms://13888888888"]]; } else { NSLog(@"暂不支持发送信息"); }
(2)使用代理方式调用发短信,首先遵守代理MFMessageComposeViewControllerDelegate,设置代理,实现代理方法,这个方法的优点就是,在当前页面调用发短信界面,操作完成之后,会停留在当前界面的,设置代理的时候注意一下,
if ([MFMessageComposeViewController canSendText]) { // 判断是否可以发送信息 MFMessageComposeViewController *message = [[MFMessageComposeViewController alloc] init]; message.messageComposeDelegate = self; // 设置代理(不是message.delegate,这个代理是操作导航栏的代理) message.recipients = @[@"11111122222",@"22222222222"]; // 设置信息接收着 message.body = @"hahah"; // 设置发送内容(输入框中的信息) message.navigationBar.tintColor = [UIColor redColor]; [self presentViewController:message animated:YES completion:nil]; } else { NSLog(@"暂不支持发送信息"); }
然后实现代理,不然的话,操作完成之后,短信界面不消失,
- (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result{// MessageComposeResultCancelled,// MessageComposeResultSent,// MessageComposeResultFailed if (result == MessageComposeResultCancelled) { NSLog(@"取消发送"); } else if (result == MessageComposeResultSent) { NSLog(@"发送成功"); } else if (result == MessageComposeResultFailed) { NSLog(@"发送失败"); } [controller dismissViewControllerAnimated:YES completion:nil];}
短信的操作基本上就那么多了。
5、系统的拨打电话,直接调用一个方法就可以了,
[[UIApplication sharedApplication]openURL:[NSURL URLWithString:@"tel://18888888888"]];
6、系统的粘贴板
系统的粘贴板其实很简单,就是在UIPasteboard类中的,
UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];// pasteboard.string=@"aaaaaaa"; // 复制文本// pasteboard.strings = @[@"wwwww",@"eeee"]; // 同时复制多个文本 pasteboard.image = [UIImage imageNamed:@"1"]; // 复制文本// pasteboard.images = @[[UIImage imageNamed:@"1"],[UIImage imageNamed:@"2"]]; // 同时复制多个图片 pasteboard.color = [UIColor redColor]; // 复制文本// pasteboard.colors = @[[UIColor redColor],[UIColor redColor]]; // 同时复制多个颜色
一般粘贴信息的话,就用到string属性就可以了。
0 0
- iOS 系统发邮件,发短信,打电话,粘贴板
- IOS打电话、发短信、发邮件总结
- iOS中摇一摇 发短信 打电话 发邮件
- ios 打电话,发邮件,发短信
- iOS 打电话 & 发短信 & 发邮件
- iOS 打电话、发短信、发邮件
- iOS打电话、发短信、发邮件开发
- iOS打电话、发短信、发邮件功能
- 打电话、发短信、发邮件
- iOS 打开系统打电话 发短信 邮件 浏览器 地图
- 发短信/邮件/打电话
- iOS开发 打电话 发短信 邮件 评分
- ios-王云鹤 调用ios系统功能---------------打电话、发短信、发邮件
- iOS- 如何将应用集成发短信、发邮件、打电话
- iOS之打电话、发短信、发邮件、相机
- iOS打电话、发短信、发邮件功能开发
- iOS- 如何将应用集成发短信、发邮件、打电话
- iOS打电话、发短信、发邮件功能开发
- 采药(01背包改编)
- ubuntu14.04手动安装qemu和libvirt
- surface pro4应用软件安装
- javascript网页定位导航的实现
- ImageView.ScaleType设置图解
- iOS 系统发邮件,发短信,打电话,粘贴板
- ibatis 对事务和批量提交的处理,以及回滚的处理
- QT动态库使用(2)
- iOS自定义年月日
- java操作Properties
- Android自动化测试框架开发(二)Monkey、MonkeyRunner介绍和分析
- 欢迎使用CSDN-markdown编辑器
- Java 类加载与初始化
- Android通过指令模拟touch滑动解锁