iOS调用系统功能与跳转到系统设置

Posted by Liu Peng on February 25, 2016

system.png

iOS调用系统功能与跳转到系统设置

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"]];
    }
    

//