iOS调用系统电话、短信、系统设置

在iOS开发过程中,有时我们想在应用内实现打电话、发短信、打开Safari浏览器功能,具体常用功能如下:

调用打电话功能(此种方法会直接进行拨打电话,电话结束后会留在电话界面)
if ([[UIApplication sharedApplication] openURL:[NSURL    URLWithString:@"tel://185XXXX0496"]])
{
[[UIApplication sharedApplication] openURL:[NSURL   URLWithString:@"tel://185XXXX0496"]];
}
调用打电话功能(此种方法会询问是否拨打电话,电话结束后会返回到应用界面,但是有上架App Store被拒的案例)
if ([[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"telprompt://185XXXX0496"]])
{
  [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"telprompt://185XXXX0496"]];
}
调用打电话功能(此种方法会询问是否拨打电话,电话结束后会返回到应用界面,此种方法是加载了一个UIWebView实现,支持上架App Store)
    UIWebView *webView = [[UIWebView alloc] init];
[webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"tel://185XXXX0496"]]];
[self.view addSubview:webView];
调用发短信功能(此种方法会直接跳转到给指定号码发送短信,短信结束后会留在短信界面)
if ([[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"sms://185XXXX0496"]])
{
  [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"sms://185XXXX0496"]];
}
调用Safari浏览器功能(在开发中遇到应用内打开网页的需求,建议使用UIWebView打开)
if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"http://www.baidu.com/"]])
{
  [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.baidu.com/"]];
}
iOS跳转到系统设置

在iOS开发过程中,有时我们想在应用内实现跳转到系统设置界面,具体常用功能如下:

注意:想要实现应用内跳转到系统设置界面功能,需要先在Targets-Info-URL Types-URL Schemes中添加prefs
跳转到WIFI设置
if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"prefs:root=WIFI"]])
{
  [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=WIFI"]];
}
跳转到蓝牙
if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"prefs:root=Bluetooth"]])
{
  [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=Bluetooth"]];
}
跳转到通用
if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"prefs:root=General"]])
{
  [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=General"]];
}
跳转到关于本机
if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"prefs:root=General&path=About"]])
{
  [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=General&path=About"]];
}
跳转到定位服务
if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"prefs:root=LOCATION_SERVICES"]])
{
  [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=LOCATION_SERVICES"]];
}
跳转到通知
if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"prefs:root=NOTIFICATIONS_ID"]])
{
  [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=NOTIFICATIONS_ID"]];
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • iOS调用系统功能 在iOS开发过程中,有时我们想在应用内实现打电话、发短信、打开Safari浏览器功能,具体常用...
    蚊香酱阅读 4,149评论 10 73
  • iOS调用系统功能偶然看到的保存下在iOS开发过程中,有时我们想在应用内实现打电话、发短信、打开Safari浏览器...
    云无心阅读 413评论 0 0
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,498评论 0 17
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,977评论 25 708
  • 冬天就这么来了,兰州的冬天没有哈尔滨冬天的严寒,没有三亚冬天的温暖,没有拉萨冬天的慵懒。兰州的冬天所拥有的只...
    早睡先生阅读 256评论 0 1