iOS app调用系统篇

//拨打电话

方法一:

- (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]];

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容