标签:
NSURL *url = [NSURL URLWithString:@"tel://10010"];
[[UIApplication sharedApplication] openURL:url];
• 缺点电话打完后,不会?自动回到原应?用,直接停留在通话记录界?面
2??
• 拨号之前会弹框询问?用户是否拨号,拨完后能?自动回到原应?用
NSURL *url = [NSURL URLWithString:@"telprompt://10010"];
[[UIApplication sharedApplication] openURL:url];
• 缺点因为是私有API,所以可能不会被审核通过
3??
一般用这个
• 创建?一个UIWebView来加载URL,拨完后能?自动回到原应?用
_webView = [[UIWebView alloc] initWithFrame:CGRectZero];
需要注意的是:这个webView千万不要添加到界?面上来,不然会挡住其他界?面
———————————————————————————
2发短信的两种方式:
1??
• 直接跳到发短信界?面,但是不能指定短信内容,?而且不能?自动回到原应?用
NSURL *url = [NSURL URLWithString:@"sms://10010"];
[[UIApplication sharedApplication] openURL:url];
2??
• 如果想指定短信内容,那就得使?用MessageUI框架• 包含主头?文件
#import <MessageUI/MessageUI.h>
• 显?示发短信的控制器
MFMessageComposeViewController *vc = [[MFMessageComposeViewController alloc] init];
// 设置短信内容
vc.body = @"吃饭了没?";
// 设置收件人列表
vc.recipients = @[@"10010", @"02010010"];
// 设置代理
vc.messageComposeDelegate = self;
// 显示控制器
[self presentViewController:vc animated:YES completion:nil];
实现代理方法:
• 代理?方法,当短信界?面关闭的时候调?用,发完后会?自动回到原应?用
- (void)messageComposeViewController:(MFMessageComposeViewController *)controllerdidFinishWithResult:(MessageComposeResult)result{ // 关闭短信界?面
* 点击取消按钮会自动调用
*/
if (result == MessageComposeResultCancelled) {NSLog(@"取消发送");
} else if (result == MessageComposeResultSent) {NSLog(@"已经发出");
} else {NSLog(@"发送失败");
}
}
--------------------------------
3,发邮件
• 跟发短信的第2种?方法差不多,只不过控制器类名叫做:MFMailComposeViewController
• 假设发送的邮件内容如右图所?示,代码实现看备注
// 不能发邮件
// if (![MFMailComposeViewController canSendMail]) return;
MFMailComposeViewController *vc = [[MFMailComposeViewController alloc] init];
// 设置邮件主题
[vc setSubject:@"会议"];
// 设置邮件内容
[vc setMessageBody:@"今天下午开会吧" isHTML:NO];
// 设置收件人列表
[vc setToRecipients:@[@"643055866@qq.com"]];
// 设置抄送人列表
[vc setCcRecipients:@[@"1234@qq.com"]];
// 设置密送人列表
[vc setBccRecipients:@[@"56789@qq.com"]];
// 添加附件(一张图片)
UIImage *image = [UIImage imageNamed:@"lufy.png"];
NSData *data = UIImagePNGRepresentation(image);
[vc addAttachmentData:data mimeType:@"image/png" fileName:@"lufy.png"];
// 设置代理
vc.mailComposeDelegate = self;
// 显示控制器
[self presentViewController:vc animated:YES completion:nil];
};
• 邮件发送后的代理?方法回调,发完后会?自动回到原应?用
/**
* 点击取消按钮会自动调用
*/
- (void)mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error
{
[controller dismissViewControllerAnimated:YES completion:nil];
if (result == MFMailComposeResultCancelled) {NSLog(@"取消发送");
} else if (result == MFMailComposeResultSent) {NSLog(@"已经发出");
} else {NSLog(@"发送失败");
}
---------------------
4,打开其他文件:
打开其他常见?文件
• 如果想打开?一些常见?文件,?比如html、txt、PDF、PPT等,都可以使?用UIWebView打开
• 只需要告诉UIWebView?文件的URL即可
• ?至于打开?一个远程的共享资源,?比如http协议的,也可以调?用系统?自带的
Safari浏览器:
NSURL *url = [NSURL URLWithString:@”http://www.baidu.com"];
[[UIApplication sharedApplication] openURL:url];
----------------------
5,应用间的跳转:
应?用评分
• 为了提?高应?用的?用户体验,经常需要邀请?用户对应?用进?行评分
• 应?用评分?无?非就是跳转到AppStore展?示?自?己的应?用,然后由?用户?自?己撰写评论
• 如何跳转到AppStore,并且展?示?自?己的应?用? ?方法1
NSString *appid = @"444934666";? ?方法2
NSString *str = [NSString stringWithFormat:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:str]];
标签:
原文地址:http://www.cnblogs.com/qq449832375/p/4671854.html