//拨打电话
方法一:
- (IBAction)openPhone {
// Call Google 411
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://10086"]];
}
方法二:创建一个UIWebView来加载URL,拨完后能自动回到原应用
if(_webView==nil) {
_webView= [[UIWebViewalloc]initWithFrame:CGRectZero];
}
[_webViewloadRequest:[NSURLRequestrequestWithURL:[NSURLURLWithString:@"tel://10010"]]];
拨号之前会弹框询问用户是否拨号,拨完后能自动回到原程序
注意:这个webView千万不要设置尺寸,不然会挡住其他界面,他只是用来打电话,不需要显示
//打开短信
方法一:
- (IBAction)openSms {
// Text toGoogle SMS
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"sms://10086"]];
}
方法二:如果想指定短信内容,那就得使用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];
#pragma 代理方法(当短信界面关闭的时候调用,发完后会自动回到原应用)
-(void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result{
//关闭短信界面
[controller dismissViewControllerAnimated:YES completion:nil];
if(result ==MessageComposeResultCancelled) {
NSLog(@"取消发送");
}else if(result ==MessageComposeResultSent) {
NSLog(@"已经发出");
}else{
NSLog(@"发送失败");
}
}
}
//打开浏览器
-(IBAction)openBrowser {
NSString *stringURL = @"http://wiki.akosma.com/";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];
//打开系统通讯录
引入一些框架
可以在info.plist中设置访问系统通讯录时的提示
代码如下:
//打开发邮件
方法一:
- (IBAction)openEmail {
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"mailto://10086@qq.com"]];
}
方法二:
跟发短信的第二种方法差不多,控制器类名为:MFMailComposeViewController
#pragma 代理方法 邮件发送后的代理方法回调,发完后会自动回到原应用
- (void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error
{
关闭邮件界面
[controllerdismissViewControllerAnimated:YEScompletion:nil];
if(result ==MFMailComposeResultCancelled) {
NSLog(@"取消发送");
}else if(result ==MFMailComposeResultSent) {
NSLog(@"已经发出");
}else{
NSLog(@"发送失败");
}
}
//应用间跳转
有时候,需要在本应用中打开其他应用,像京东商城点击,京东白条(A应用)会跳转到京东金融(B应用)
首先,B应用得有自己的URL网址,在Info.plist中配置
B应用的URL地址就是:mj://ios.itcast.cn
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"mj://ios.itcast.cn"]];
//应用评分
还有些应用为了提高用户体验,经常需要邀请用户对应用进行平扥,应用评分无非就是跳转到AppStore展示自己的应用,然后由用户自己进行评价,那么如何跳转到AppStore,并且展示自己的应用呢
方法如下:
NSString *appid = @"123456789";
NSString * str = [[NSString stringWithFormat:@"itms-apps://itunes.apple.com/cn/app/id@?mt=8",appid]];
[[UIApplication sharedApplication openURL:[NSURL URLWithString:str]];