Qinz
iOS開發(fā)中,有時會涉及到跳轉(zhuǎn)到系統(tǒng)設(shè)置的界面,比如打開藍(lán)牙,通知等,廢話不多說,直接上圖:Demo給出了31種界面的跳轉(zhuǎn),當(dāng)然你也可以根據(jù)我下面第三步反映的規(guī)律進(jìn)行其它頁面的跳轉(zhuǎn)~
1.gif
2.gif
3.gif
4.gif
5.gif
第一步:配置info信息,添加URL Sechmes的字段為prefs,不配置是沒辦法跳轉(zhuǎn)的!
配置info
第二步:上代碼 下面是本Demo所涉及所有跳轉(zhuǎn)頁面
let listArr = ["無線局域網(wǎng)","藍(lán)牙","個人熱點","運營商","通知","睡眠","通用","調(diào)節(jié)亮度","墻紙",
"聲音","siri語音助手","隱私","電話","icloud","iTunes Strore 與 APP Store","safari","關(guān)于本機(jī)",
"軟件更新","輔助功能","日期與時間","鍵盤","存儲空間","語言與地區(qū)","VPN","描述文件與設(shè)備管理","音樂",
"備忘錄","照片與相機(jī)","還原","Twiter","Facebook"]
- 1.跳轉(zhuǎn)的函數(shù)
//跳轉(zhuǎn)系統(tǒng)設(shè)置頁面
func jump(url:String?){
guard let jumpUrl = URL.init(string: url!) else {
return
}
if UIApplication.shared.canOpenURL(jumpUrl)
{
if #available(iOS 10.0, *){
UIApplication.shared.open(jumpUrl, options: [:], completionHandler: { (success) in
if success {
print("跳轉(zhuǎn)成功")
}
})
}else{
UIApplication.shared.openURL(jumpUrl)
}
}
}
- 2.跳轉(zhuǎn)設(shè)置:注意以下為私有API,請謹(jǐn)慎使用:可能會導(dǎo)致上架被拒!
//MARK: -- 選擇每個cell執(zhí)行的操作
public func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
switch indexPath.row {
case 0://無線局域網(wǎng)
jump(url: "App-prefs:root=WIFI")
case 1: //藍(lán)牙
jump(url: "App-Prefs:root=Bluetooth")
case 2: //個人熱點
jump(url: "App-prefs:root=INTERNET_TETHERING")
case 3: //運營商
jump(url: "App-prefs:root=Carrier")
case 4: //通知:需要大寫后面加上ID
jump(url: "App-prefs:root=NOTIFICATIONS_ID")
case 5: //睡眠
jump(url: "App-prefs:root=DO_NOT_DISTURB")
case 6: //通用
jump(url: "App-prefs:root=General")
case 7: //調(diào)節(jié)亮度
jump(url: "App-prefs:root=DISPLAY&BRIGHTNESS")
case 8://墻紙
jump(url: "App-prefs:root=Wallpaper")
case 9://聲音
jump(url: "App-prefs:root=Sounds")
case 10://siri語音助手
jump(url: "App-prefs:root=SIRI")
case 11://隱私
jump(url: "App-prefs:root=Privacy")
case 12: //電話
jump(url: "App-prefs:root=Phone")
case 13: //icloud
jump(url: "App-prefs:root=CASTLE")
case 14://iTunes Strore 與 APP Store
jump(url: "App-prefs:root=STORE")
case 15://safari
jump(url: "App-prefs:root=SAFARI")
case 16: //關(guān)于本機(jī)
jump(url: "App-prefs:root=General&path=About")
case 17://軟件更新
jump(url: "App-prefs:root=General&path=SOFTWARE_UPDATE_LINK")
case 18: //輔助功能
jump(url: "App-prefs:root=General&path=ACCESSIBILITY")
case 19: //日期與時間
jump(url: "App-prefs:root=General&path=DATE_AND_TIME")
case 20: //鍵盤
jump(url: "App-prefs:root=General&path=Keyboard")
case 21://存儲空間
jump(url: "App-prefs:root=CASTLE&path=STORAGE_AND_BACKUP")
case 22: //語言與地區(qū)
jump(url: "App-prefs:root=General&path=Language_AND_Region")
case 23://VPN
jump(url: "App-prefs:root=General&path=VPN")
case 24://描述文件與設(shè)備管理
jump(url: "App-prefs:root=General&path=ManagedConfigurationList")
case 25://音樂
jump(url: "App-prefs:root=MUSIC")
case 26://備忘錄
jump(url: "App-prefs:root=NOTES")
case 27: //照片與相機(jī)
jump(url: "App-prefs:root=Photos")
case 28://還原
jump(url: "App-prefs:root=General&path=Reset")
case 29: //Twiter
jump(url: "App-prefs:root=TWITTER")
case 30: //Facebook
jump(url: "App-prefs:root=FACEBOOK")
default:
break
}
}
第三步:擴(kuò)展
- 1.我們來看下面這幾句跳轉(zhuǎn)代碼
case 0://無線局域網(wǎng)
jump(url: "App-prefs:root=WIFI")
case 1: //藍(lán)牙
jump(url: "App-Prefs:root=Bluetooth")
case 2: //個人熱點
jump(url: "App-prefs:root=INTERNET_TETHERING")
case 3: //運營商
jump(url: "App-prefs:root=Carrier")
case 4: //通知:需要大寫后面加上ID
jump(url: "App-prefs:root=NOTIFICATIONS_ID")
case 5: //睡眠
jump(url: "App-prefs:root=DO_NOT_DISTURB")
case 6: //通用
jump(url: "App-prefs:root=General")
- 2.再來看看我們將手機(jī)語言切換至英文設(shè)置界面的情況——是不是很容易發(fā)現(xiàn)規(guī)律呢?
1.png
總結(jié): 基本都是 jump(url: "App-Prefs:root=Bluetooth") ,root等于號后面的就是該英文單詞,當(dāng)然有的是用長的英文單詞是用“_”來連接,如jump(url: "App-prefs:root=NOTIFICATIONS_ID"),有的是將小寫改為大寫,如SAFARI。可以自己去試試就明白其中的關(guān)聯(lián)了~是不是很簡單呢?根據(jù)該規(guī)律還有些界面自己設(shè)置也可以跳轉(zhuǎn)過去,當(dāng)然有些也是跳不過去的!
OC也是一行代碼調(diào)用:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"App-Prefs:root=Bluetooth"]];
最后附上demo下載地址:https://git.oschina.net/Qinz_323/JumpDemo
參考來源:http://stackoverflow.com/questions/9092142/ios-uialertview-button-to-go-to-setting-app
我是Qinz,希望我的文章對你有幫助。