Search code examples
iphoneiphone-sdk-3.0ios4

How can I open the Settings app when the user presses a button?


From what I understand by using code like this:

NSURL* appUrl = [NSURL URLWithString: @"URL"];
[[UIApplication sharedApplication] openURL:appUrl];

I can open Map, YouTube, Safari, Mail, iTunes and the App Store, when a user say presses a button.

But I was wondering is it possible to open the Settings app with this method.

Basically, the first time the user opens my app I want a UIAlertView to pop up to let the user know that they can change a specific setting if they want, and either they press OK or they press settings to take them to the settings app.

I know that Apple do that in some situations, but is it possible for developers to do that?


Solution

  • As per @bnduati's answer, in iOS 8 you can use the following code to open your app's settings in the settings app:

    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];
    

    Old answer:

    From iOS 5.1 through iOS 7, it was not possible to open the settings app from another application.

    You might want to investigate this framework for providing in-app settings.

    There are quite a few other questions that discuss this topic:

    iPhone - how to put Settings bundle seen through System Settings App into your own App?

    Launch iPhone setting screen from Application?

    How to send a user to the main iPhone Settings screen from within your iPhone App