How to open your app in Settings iOS 11 How to open your app in Settings iOS 11 swift swift

How to open your app in Settings iOS 11


Here is the code you're looking for, I guess:

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

And in addition, the updated version for swift 5 :

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


Swift 4.2, iOS 12

Opening just the settings is possible with the function below:

extension UIApplication {    ...    @discardableResult    static func openAppSettings() -> Bool {        guard            let settingsURL = URL(string: UIApplication.openSettingsURLString),            UIApplication.shared.canOpenURL(settingsURL)            else {                return false        }        UIApplication.shared.open(settingsURL)        return true    }}

Usage: UIApplication.openAppSettings()

But be careful to NOT use "non-public URL scheme", such as: prefs:root= or App-Prefs:root, because otherwise your app will be rejected. This happened to me recently since I was trying to have a deeplink to the wifi section in the settings.


And if you want to make it work for both, older and newer iOS-versions, then do:

if let url = URL(string:UIApplicationOpenSettingsURLString) {    if UIApplication.shared.canOpenURL(url) {        if #available(iOS 10.0, *) {            UIApplication.shared.open(url, options: [:], completionHandler: nil)        } else {            UIApplication.shared.openURL(url)        }    }}