iOS呼叫系統功能與跳轉到系統設定

weixin_34320159發表於2017-03-06

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

相關文章