在iOS开发中,有时会有跳转系统设置界面的需求,例如提示用户打开蓝牙或者WIFI,提醒用户打开推送或者位置权限等。在iOS6之后,第三方应用需要跳转系统设置界面,需要在URL type中添加一个prefs值,如下图:
跳转系统设置根目录中的项目使用如下的方法:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
_array = @[
@{@ "系统设置" :@ "prefs:root=INTERNET_TETHERING" },
@{@ "WIFI设置" :@ "prefs:root=WIFI" },
@{@ "蓝牙设置" :@ "prefs:root=Bluetooth" },
@{@ "系统通知" :@ "prefs:root=NOTIFICATIONS_ID" },
@{@ "通用设置" :@ "prefs:root=General" },
@{@ "显示设置" :@ "prefs:root=DISPLAY&BRIGHTNESS" },
@{@ "壁纸设置" :@ "prefs:root=Wallpaper" },
@{@ "声音设置" :@ "prefs:root=Sounds" },
@{@ "隐私设置" :@ "prefs:root=privacy" },
@{@ "APP Store" :@ "prefs:root=STORE" },
@{@ "Notes" :@ "prefs:root=NOTES" },
@{@ "Safari" :@ "prefs:root=Safari" },
@{@ "Music" :@ "prefs:root=MUSIC" },
@{@ "photo" :@ "prefs:root=Photos" }
];
NSURL * url = [NSURL URLWithString:[_array[index] allValues].firstObject];
[[UIApplication sharedApplication]openURL:url];
|
如果要跳转第三方应用的设置界面中,使用prefs:root=boundleId的方式,boundleId是第三方应用的boundleId。
如果需要继续向项目内层进行跳转,可以通过添加path路径的方式,如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
_array = @[
@{@ "关于本机" :@ "prefs:root=General&path=About" },
@{@ "软件升级" :@ "prefs:root=General&path=SOFTWARE_UPDATE_LINK" },
@{@ "日期时间" :@ "prefs:root=General&path=DATE_AND_TIME" },
@{@ "Accessibility" :@ "prefs:root=General&path=ACCESSIBILITY" },
@{@ "键盘设置" :@ "prefs:root=General&path=Keyboard" },
@{@ "VPN" :@ "prefs:root=General&path=VPN" },
@{@ "壁纸设置" :@ "prefs:root=Wallpaper" },
@{@ "声音设置" :@ "prefs:root=Sounds" },
@{@ "隐私设置" :@ "prefs:root=privacy" },
@{@ "APP Store" :@ "prefs:root=STORE" },
@{@ "还原设置" :@ "prefs:root=General&path=Reset" },
@{@ "应用通知" :@ "prefs:root=NOTIFICATIONS_ID&path=应用的boundleId" }
];
|
以上内容给大家介绍了IOS应用内跳转系统设置相关界面的方法,希望对大家有所帮助!