2010-11-03 8 views
9

Por lo que entiendo mediante el uso de código como este:¿Cómo puedo abrir la aplicación de configuración cuando el usuario presiona un botón?

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

puedo ver el mapa, YouTube, Safari, Mail, iTunes y la App Store, cuando un usuario presiona un botón dicen.

Pero me preguntaba si es posible abrir la aplicación de configuración con este método.

Básicamente, la primera vez que el usuario abre mi aplicación, quiero que aparezca un UIAlertView para que el usuario sepa que puede cambiar una configuración específica si lo desea, y puede presionar OK o presionar la configuración para llevarlo a la aplicación de configuración.

Sé que Apple hace eso en algunas situaciones, pero ¿es posible que los desarrolladores lo hagan?

+0

posible duplicado de [Abrir la aplicación de configuración desde otra aplicación] (http://stackoverflow.com/questions/5655674/opening-the-settings-app-from-another-app) – Flexo

Respuesta

16

De acuerdo con la respuesta de @ bnduati, en IOS 8 se puede utilizar el siguiente código para abrir la configuración de la aplicación en la configuración de aplicación:

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

Viejo respuesta:

de iOS 5.1 a iOS 7 , no fue posible abrir la aplicación de configuración desde otra aplicación.

Es posible que desee investigar this framework para proporcionar ajustes en la aplicación.

Hay bastantes otras preguntas que discuten este tema:

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

Awesome thanks!El InAppSettingsKit funciona muy bien por configuración en la aplicación – cgossain

+0

Esto es posible en iOS 8+ usando 'UIApplicationOpenSettingsURLString'. Consulte la respuesta de @ bnduati a continuación: http://stackoverflow.com/a/25311388/1148702 –

3

No sé si esto es posible o no, pero un problema es que el usuario debería volver a su aplicación. En su lugar, puede tener su propia vista de preferencias que puede escribir en el mismo archivo que utilizará la aplicación de preferencias mediante NSUserDefaults.

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

[[NSUserDefaults standardUserDefaults] stringForKey:key]

6

Puede utilizar esto en iOS 5.0 y posterior:

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs://"]]; 
+1

Pegue un enlace de la documentación. –

+11

Esto estaba deshabilitado en iOS 5.1 – RPM

+0

... y habilitado en iOS 8 con 'UIApplicationOpenSettingsURLString' –

9

En iOS 8 y más tarde se puede enviar al usuario a la configuración de tu aplicación de la siguiente manera:

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

Swift Sintaxis:

UIApplication.sharedApplication().openURL(NSURL(string: UIApplicationOpenSettingsURLString)!) 
0

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) { 

    } 
} 
Cuestiones relacionadas