[英]How to open settings app programmatically?
I'm using swift with ios 8.3.我在 ios 8.3 上使用 swift。 I want to open settings app from my application.
我想从我的应用程序中打开设置应用程序。 I know that using the code
我知道使用代码
UIApplication.sharedApplication().openURL(NSURL(string: UIApplicationOpenSettingsURLString)!)
will open my app settings.将打开我的应用程序设置。 But I don't want to open my app settings.
但我不想打开我的应用程序设置。 I just want to open the settings app and stay in the main page.
我只想打开设置应用程序并停留在主页上。 If possible, navigate to "Cellular".
如果可能,导航到“蜂窝网络”。 Is there any way to acheive this?
有没有办法实现这一目标?
Try this.尝试这个。
if let appSettings = URL(string: UIApplication.openSettingsURLString) {
UIApplication.shared.open(appSettings, options: [:], completionHandler: nil)
}
Xcode 11.5 - iOS > 10 Xcode 11.5 - iOS > 10
Update on 11-Oct-2016: 2016 年 10 月 11 日更新:
It won't work in iOS10 anymore.它不再适用于 iOS10。 So far I haven't found any workaround.
到目前为止,我还没有找到任何解决方法。 If you guys have any solution please let me know.
如果你们有任何解决方案,请告诉我。 thanks.
谢谢。
====================================== ======================================
if the iOS version <= iOS9, you need set URL types:如果 iOS 版本 <= iOS9,则需要设置 URL 类型:
You can do in this way:你可以这样做:
let url:NSURL! = NSURL(string : "prefs:root=")
UIApplication.sharedApplication().openURL(url)
I have a demo on github: http://github.com/zhihuitang/SettingDemo.git我在github上有一个demo: http : //github.com/zhihuitang/SettingDemo.git
And you can find all available URLs as follows: http://iphonedevwiki.net/index.php/Preferences.app Preferences app registers a private URL scheme, prefs:, the list below details opening specific views 1 [2]您可以找到所有可用的 URL,如下所示: http://iphonedevwiki.net/index.php/Preferences.app Preferences app 注册一个私有 URL 方案,prefs:,下面的列表详细说明打开特定视图1 [2]
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=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
hope this helpful to you.希望这对你有帮助。
YES, They made changes in iOS 10, Please change "prefs:" to "App-Prefs:"是的,他们在 iOS 10 中进行了更改,请将“prefs:”更改为“App-Prefs:”
guard let profileUrl = URL(string:"App-Prefs:root=General&path=ManagedConfigurationList") else {
return
}
if UIApplication.shared.canOpenURL(profileUrl) {
UIApplication.shared.open(profileUrl, completionHandler: { (success) in
print(" Profile Settings opened: \(success)")
})
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.