0Day Forums
How to open settings app programmatically? - Printable Version

+- 0Day Forums (https://0day.red)
+-- Forum: Coding (https://0day.red/Forum-Coding)
+--- Forum: Swift (https://0day.red/Forum-Swift)
+--- Thread: How to open settings app programmatically? (/Thread-How-to-open-settings-app-programmatically)



How to open settings app programmatically? - neap608 - 07-19-2023

I'm using swift with ios 8.3. 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?


RE: How to open settings app programmatically? - washer348 - 07-19-2023

Xcode 14:
you can do:

// System settings:
let url = URL(string: UIApplication.openSettingsURLString)!
UIApplication.shared.open(url)

// Notifications settings:
URL(string: UIApplication.openNotificationSettingsURLString)!
UIApplication.shared.open(url)



RE: How to open settings app programmatically? - Kamillah681923 - 07-19-2023

Try this.

if let appSettings = URL(string: UIApplication.openSettingsURLString) {
UIApplication.shared.open(appSettings, options: [:], completionHandler: nil)
}

Xcode 11.5 - iOS > 10


RE: How to open settings app programmatically? - graycegrayheaded331 - 07-19-2023

YES, They made changes in iOS 10, Please change "prefs:" to "App-Prefs:"

```swift
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)")
})
}



RE: How to open settings app programmatically? - kamcyxwdyjx - 07-19-2023

**Update on 11-Oct-2016:**

It won't work in iOS10 anymore. 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:
[![enter image description here][1]][1]

You can do in this way:

let url:NSURL! = NSURL(string : "prefs:root=")
UIApplication.sharedApplication().openURL(url)

I have a demo on github:

[To see links please register here]


And you can find all available URLs as follows:

[To see links please register here]

Preferences app registers a private URL scheme, prefs:, the list below details opening specific views [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.


[1]: