【iOS开发】跳转到『设置App』的任意条目
有時候,我們?yōu)榱俗層脩舴奖愕卦O(shè)置一些內(nèi)容,希望可以讓用戶點擊一個按鈕,就可以跳轉(zhuǎn)到 設(shè)置->通用,或 設(shè)置->�Safari,等『設(shè)置App』中的詳細條目,這樣,下面這條常見的語句就不足以滿足需求了:
UIApplication.sharedApplication().openURL(NSURL(string: UIApplicationOpenSettingsURLString)!)(這條語句可以跳轉(zhuǎn)到 設(shè)置App)
但是如果我們需要跳轉(zhuǎn)到 設(shè)置->Safari 這個地方,就要寫下面這樣的語句:
#if arch(i386) || arch(x86_64)
// Simulator
let url = NSURL(string: "prefs:root=Safari")!
#else
// Device
let url = NSURL(string: "prefs:root=SAFARI")!
#endif
這種形式直接被寫出來的話,在 iOS 5.1 及更高版本中,不會起作用,所以需要做的額外一個步驟是:
URL Schemes: prefs在 YourAppTarget->Info->URL Types 這個地方,如上圖,寫上 prefs 字段;這樣在 iOS 8 及 iOS 9 中都親測有效。
下面給出一個較為完整的列表,可以讓你隨意跳轉(zhuǎn)到 設(shè)置App 里的任意一個地方 :)
【List of currently known URLs in the Settings app】
prefs:root=General&path=About
prefs:root=General&path=ACCESSIBILITY
prefs:root=AIRPLANE_MODE
prefs:root=General&path=AUTOLOCK
prefs:root=General&path=USAGE/CELLULAR_USAGE
prefs:root=Brightness
prefs:root=General&path=Bluetooth
prefs:root=General&path=DATE_AND_TIME
prefs:root=FACETIME
prefs:root=General
prefs:root=General&path=Keyboard
prefs:root=CASTLE
prefs:root=CASTLE&path=STORAGE_AND_BACKUP
prefs:root=General&path=INTERNATIONAL
prefs:root=LOCATION_SERVICES
prefs:root=ACCOUNT_SETTINGS
prefs:root=MUSIC
prefs:root=MUSIC&path=EQ
prefs:root=MUSIC&path=VolumeLimit
prefs:root=General&path=Network
prefs:root=NIKE_PLUS_IPOD
prefs:root=NOTES
prefs:root=NOTIFICATIONS_ID
prefs:root=Phone
prefs:root=Photos
prefs:root=General&path=ManagedConfigurationList
prefs:root=General&path=Reset
prefs:root=Sounds&path=Ringtone
prefs:root=Safari
prefs:root=General&path=Assistant
prefs:root=Sounds
prefs:root=General&path=SOFTWARE_UPDATE_LINK
prefs:root=STORE
prefs:root=TWITTER
prefs:root=General&path=USAGE
prefs:root=VIDEO
prefs:root=General&path=Network/VPN
prefs:root=Wallpaper
prefs:root=WIFI
prefs:root=INTERNET_TETHERING
引用內(nèi)容來源:
http://stackoverflow.com/questions/9092142/ios-uialertview-button-to-go-to-setting-app
http://stackoverflow.com/questions/8246070/ios-launching-settings-restrictions-url-scheme/33896318#33896318
提醒:
這是私有 API,在 AppStore 上架 App 中,請小心謹慎使用。
總結(jié)
以上是生活随笔為你收集整理的【iOS开发】跳转到『设置App』的任意条目的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 浅谈Struts2的命名空间及以传统形式
- 下一篇: 关于过拟合、局部最小值、以及Poor G