iOS开发之如何跳到系统设置里的各种设置界面
一·iOS開發之如何跳到系統設置里的WiFi界面
之前以為,蘋果不支持直接從應用跳到系統設置里的WiFi界面。后來發現,這個小功能是可以實現的,而且實現起來并不麻煩。讓我們一起來看看吧!
需求
從應用跳到系統設置里的WiFi界面有這個需求存在嗎?答案是肯定的。比如以下兩個例子:
在沒有網的狀態下,你可能想提醒用戶去設置界面連接WiFi。如果不能跳到WiFi界面,只能在APP里面做出文字提示。這樣很多小白用戶可能不會看提示,只會覺得APP沒有做好。
還有一種情況,做智能家居的APP,智能硬件設備自帶WiFi(局域網)。如果用戶沒有連接設備的WiFi進入APP時,需要提示用戶去設置界面連接WiFi。
以上這兩種情況只是舉個例子,這個小功能的用處還是很多的,大家可以自行探索。
實現
info里面設置
在項目中的info.plist中添加 URL types 并設置一項URL Schemes為prefs,如下圖:
實現代碼
NSURL *url = [NSURL URLWithString:@"prefs:root=WIFI"]; if ([[UIApplication sharedApplication] canOpenURL:url]) {[[UIApplication sharedApplication] openURL:url]; }代碼已上傳iOSStrongDemo
代碼已經push到iOSStrongDemo,大家可以clone下來測試一下。
我在這里拋磚迎玉,大家還想跳到系統設置的什么界面,可以評論留言告訴我,或者大家動手來實現更多的跳轉功能!
二·跳到其他設置界面
除了跳到WiFi設置界面,能不能跳到其他的設置界面呢?比如:定位服務、FaceTime、音樂等等。都是可以的,一起來看看如何實現的!
定位服務
定位服務有很多APP都有,如果用戶關閉了定位,那么,我們在APP里面可以提示用戶打開定位服務。點擊到設置界面設置,直接跳到定位服務設置界面。代碼如下:
//定位服務設置界面 NSURL *url = [NSURL URLWithString:@"prefs:root=LOCATION_SERVICES"]; if ([[UIApplication sharedApplication] canOpenURL:url]) {[[UIApplication sharedApplication] openURL:url]; }這樣就可以跳到系統設置的定位服務界面啦!我們繼續看幾個列子。
FaceTime
//FaceTime設置界面 NSURL *url = [NSURL URLWithString:@"prefs:root=FACETIME"]; if ([[UIApplication sharedApplication] canOpenURL:url]) {[[UIApplication sharedApplication] openURL:url]; }音樂
//音樂設置界面 NSURL *url = [NSURL URLWithString:@"prefs:root=MUSIC"]; if ([[UIApplication sharedApplication] canOpenURL:url]) {[[UIApplication sharedApplication] openURL:url]; }墻紙設置界面
//墻紙設置界面 NSURL *url = [NSURL URLWithString:@"prefs:root=Wallpaper"]; if ([[UIApplication sharedApplication] canOpenURL:url]) {[[UIApplication sharedApplication] openURL:url]; }藍牙設置界面
//藍牙設置界面NSURL *url = [NSURL URLWithString:@"prefs:root=Bluetooth"];if ([[UIApplication sharedApplication] canOpenURL:url]){[[UIApplication sharedApplication] openURL:url];}iCloud設置界面
//iCloud設置界面 NSURL *url = [NSURL URLWithString:@"prefs:root=CASTLE"]; if ([[UIApplication sharedApplication] canOpenURL:url] {[[UIApplication sharedApplication] openURL:url]; }參數配置
看到這幾個例子,大家有沒有發現,想跳到哪個設置界面只需要prefs:root=后面的值即可!是的,就是這樣的。
我在網上找到一個列表,可以跳到這些界面的參數配置:
About — prefs:root=General&path=About Accessibility — prefs:root=General&path=ACCESSIBILITY Airplane Mode On — prefs:root=AIRPLANE_MODE Auto-Lock — prefs:root=General&path=AUTOLOCK Brightness — prefs:root=Brightness Bluetooth — prefs:root=General&path=Bluetooth Date & Time — prefs:root=General&path=DATE_AND_TIME FaceTime — prefs:root=FACETIME General — prefs:root=General Keyboard — prefs:root=General&path=Keyboard iCloud — prefs:root=CASTLE iCloud Storage & Backup — prefs:root=CASTLE&path=STORAGE_AND_BACKUP International — prefs:root=General&path=INTERNATIONAL Location Services — prefs:root=LOCATION_SERVICES Music — prefs:root=MUSIC Music Equalizer — prefs:root=MUSIC&path=EQ Music Volume Limit — prefs:root=MUSIC&path=VolumeLimit Network — prefs:root=General&path=Network Nike + iPod — prefs:root=NIKE_PLUS_IPOD Notes — prefs:root=NOTES Notification — prefs:root=NOTIFICATIONS_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大家可以根據自己的需求,跳到不同的設置界面。如果你喜歡這篇文章的話,歡迎分享給更多的朋友,也可以收藏起來,以備不時之需!
iOSStrongDemo:https://github.com/worldligang/iOSStrongDemo
總結
以上是生活随笔為你收集整理的iOS开发之如何跳到系统设置里的各种设置界面的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Objective-C 注释规范心得
- 下一篇: Content Compression