iOS开发如何跳转到系统设置或功能?

时间:2022-09-08 14:17:23

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:[NSURLURLWithString:
@"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"]]
;
}