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

后端 未结 6 1560
不知归路
不知归路 2020-12-06 06:38

From what I understand by using code like this:

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


        
相关标签:
6条回答
  • 2020-12-06 07:08

    Swift Syntax:

    UIApplication.sharedApplication().openURL(NSURL(string: UIApplicationOpenSettingsURLString)!)
    
    0 讨论(0)
  • 2020-12-06 07:12

    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

    0 讨论(0)
  • 2020-12-06 07:20

    You can use this on iOS 5.0 and later:

    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs://"]];
    
    0 讨论(0)
  • 2020-12-06 07:23

    I don't know if this is possible or not, but one issue is that the user would then need to navigate back to your app. You can instead have your own preferences view that can write to the same file that the preferences app will use by using NSUserDefaults.

    [[NSUserDefaults standardUserDefaults] setObject:value forKey:key];

    [[NSUserDefaults standardUserDefaults] stringForKey:key]

    0 讨论(0)
  • 2020-12-06 07:32

    In iOS 8 and later you can send the user to your app's settings in the following way:

    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];
    
    0 讨论(0)
  • 2020-12-06 07:33

    Swift 3

    private func showAlertPrivacy() {
        let alertController = UIAlertController(title: nil, message: "messagePrivacy", preferredStyle: .alert)
        let alertNo = UIAlertAction(title: "No", style: .default) { (_) in
    
        }
        alertController.addAction(alertNo)
    
        let alertSetting = UIAlertAction(title: "Settings", style: .default) { (_) in
    
            UIApplication.shared.open(URL(string:UIApplicationOpenSettingsURLString)!, options: [:], completionHandler: { (_) in
    
            })
        }
        alertController.addAction(alertSetting)
    
        present(alertController, animated: true) { 
    
        }
    }
    
    0 讨论(0)
提交回复
热议问题