之前在年初的时候,曾经查过这个问题。
当时找到的并试验下来的结果时:对于iOS6以后的系统,并不能使用openurl打开相应的设置界面。
(iOS8可以[[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];)
最近又看这个问题,发现了新的进展,居然可以跳转设置界面了,原文如下,记录一下,学习使用:
链接:http://www.2cto.com/kf/201506/410295.html
很多著名和非著名的App有在App内通过某种方式跳转到系统Settings的功能。但是iOS5.1以后不能正常调用了,经过模索,本人总结了以下两种方法:
方法一:
其实稍微百度下你都可以找到以下这个列表。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
<code>Notification — prefs:root=NOTIFICATI_ID
Phone — prefs:root=Phone
Photos — prefs:root=Photos
Profile — prefs:root=General&path=ManagedConfigurationList
Reset — prefs:root=General&path=Reset
Safari — prefs:root=Safari
Siri — prefs:root=General&path=Assistant
Sounds — prefs:root=Sounds
Software Update — prefs:root=General&path=SOFTWARE_UPDATE_LINK
Store — prefs:root=STORE
Twitter — prefs:root=TWITTER
Usage — prefs:root=General&path=USAGE
VPN — prefs:root=General&path=Network/VPN
Wallpaper — prefs:root=Wallpaper
Wi-Fi — prefs:root=WIFI</code>
|
是的,本人接下来会提到这个调用:
1
|
<code>[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@
"prefs:root=WIFI"
]];</code>
|
这个在iOS6,7和8中确实可以跳转,只是还少了一个步骤。
截图1.png
在URL Types中添加一个新项。我没有深入研究,只填写prefs就可以了。
截图2.png
这样子,以上介绍的方法就可以跳转了。
除非万不得已,在可选择的情况下还是使用以下调用:(就算扩展阅读吧)
iOS8新支持:
1
|
<code>[[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];</code>
|
方法二:
还是用[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=WIFI"]];
但是只能在alertview里可用。