Estoy trabajando para agregar un paquete de configuración para mi aplicación como una forma económica de obtener una GUI según mis preferencias. ¿Es posible iniciar esto desde un botón en mi aplicación o mis usuarios siempre tendrán que acceder a él manualmente a través de la aplicación de configuración integrada?¿Cómo abro mi paquete de configuraciones desde mi aplicación?
Respuesta
Es posible que tengan que ir a la aplicación de configuración, dependiendo de cómo lo haga.
Consulte this document, la sección de Preferencias de aplicaciones. Aquí está la sección relevante de la introducción:
Agregar las preferencias de su aplicación a la aplicación Configuración es más apropiado para aplicaciones de estilo de productividad y en situaciones donde tiene valores de preferencia que generalmente se configuran una vez y luego rara vez cambian. Por ejemplo, la aplicación de correo usa estas preferencias para almacenar la información de la cuenta del usuario y la configuración de verificación de mensajes. Debido a que la aplicación de Configuración tiene soporte para mostrar las preferencias de forma jerárquica, manipular sus preferencias desde la aplicación Configuración también es más apropiado cuando tiene una gran cantidad de preferencias. Proporcionar el mismo conjunto de preferencias en su aplicación puede requerir demasiadas pantallas y puede causar confusión para el usuario.
Cuando su aplicación tiene solo unas pocas opciones o tiene opciones que el usuario podría querer cambiar regularmente, debe pensar cuidadosamente si la aplicación de Configuración es el lugar correcto para ellas. Por ejemplo, las aplicaciones de utilidad proporcionan opciones de configuración personalizadas en la parte posterior de su vista principal. Un control especial en la vista lo voltea para mostrar las opciones y otro control voltea la vista hacia atrás. Para aplicaciones simples, este tipo de comportamiento proporciona acceso inmediato a las opciones de la aplicación y es mucho más conveniente para el usuario que ir a Configuración.
actualización
El enlace ha caducado. This is a similar document en paquetes de configuración.
No, no puede - ellos tendrán que salir de su aplicación e iniciar la configuración. Es un dolor, y como se indicó anteriormente, una decisión de diseño que tendrá que tomar.
Respondí mi propia pregunta: de hecho puede utilizar los NSUserDefaults para guardar sus propias preferencias de aplicaciones sin tener que integrarlas con la configuración del sistema.
Por ejemplo, mi aplicación es una aplicación de utilidad con una IU pequeña para un par de configuraciones en FlipSide (la vista que recibe el usuario al presionar el botón "i").
Tenga en cuenta que encontré esta información de dos fuentes.
En una gran serie de informes de iPhone BootCamp, Scott Leberknight menciona de pasada que se le enseñó que un usuario de Aplicaciones de opciones por defecto pueden o no pueden integrar en la aplicación de configuración.
El código de ejemplo de la página oficial del iPhone para el desarrollador BubbleLevel utiliza para almacenar las preferencias de la calibración de nivel (que se encuentra en la otra cara vista)
Éstos son los métodos en LevelAppDelegate.m que cargue la preferencia cuando se inicia la aplicación, y la guarda cuando se termina:
// Invoked after the application has been launched and initialized but before it has received its first event.
- (void)applicationDidFinishLaunching:(UIApplication *)application {
// Set up the level view controller
levelViewController = [[LevelViewController alloc] init];
[window addSubview:levelViewController.view];
// Restore calibration for device
float restoredOffset = [[NSUserDefaults standardUserDefaults] floatForKey:BubbleLevelCalibrationOffsetKey];
levelViewController.calibrationOffset = restoredOffset;
}
// Invoked immediately before the application terminates.
- (void)applicationWillTerminate:(UIApplication *)application {
float calibrationOffset = levelViewController.calibrationOffset;
NSNumber *offset = [NSNumber numberWithFloat:calibrationOffset];
[[NSUserDefaults standardUserDefaults] setObject:offset forKey:BubbleLevelCalibrationOffsetKey];
}
supongo, sin embargo, que la respuesta correcta a la pregunta inicial es:
No - se puede No ejecuto la interfaz de usuario de configuración desde su propia aplicación (no he visto ninguna manera de hacerlo, podría estar equivocado, supongo), pero estoy bastante seguro de que, incluso si pudiera ejecutar Configuraciones desde su aplicación, diga la forma en que una URL se puede usar para iniciar Safari: no podrá devolver a su aplicación desde la aplicación de Configuración, lo cual sería contrario al propósito).
para la persistencia a nivel de preferencia (en contraposición a los datos de aplicaciones persistido en los documentos, bases de datos o caché) que tiene 2 opciones i) utilizar la aplicación de configuración del sistema para su edición ii) crear sus propios controles en su aplicación
En cualquier caso, puede utilizar NSUserDefaults para la persistencia real.
Le pregunté a un ingeniero de iPhone sobre esto en una de las charlas técnicas y me dijo que no puedes hacer eso. Sugirió que presente un error para que Apple pueda determinar si esta es una solicitud popular. – bbrown
Acabo de ver que la aplicación Aka-aki me lleva directamente a la pantalla de notificación de inserción de la aplicación de configuración. Lo hizo la primera vez que lo lancé. Entonces debe ser posible. :)
No me sorprendería que, al igual que con la ubicación, haya una solicitud de sistema operativo integrada la primera vez que una aplicación intente usar la inserción. –
No tengo conocimiento de ninguna forma de ejecutar Settings.app desde su aplicación. Sin embargo, ¿por qué no integrar la configuración directamente en tu aplicación? Puede usar InAppSettingsKit para hacerlo fácilmente.
Para IOS5 puede abrir directamente los ajustes:
[[UIApplication sharedApplication] openURL: [NSURL URLWithString: @ "Preferencias: //"]];
Desafortunadamente, no funciona en iOS 6 o 7 :( – sup
- 1. ¿Cómo abro la aplicación de configuración desde mi aplicación?
- 2. android: ¿cómo abro otra aplicación desde mi aplicación?
- 3. ¿Cómo abro http: // localhost en mi navegador web desde Vim?
- 4. Integración de mi artilugio con mi aplicación
- 5. ¿Abrir la aplicación iPod desde mi aplicación?
- 6. ¿Cómo crear un paquete Debian para mi aplicación web Java?
- 7. ¿Cómo abrir la aplicación iphone mail desde mi propia aplicación?
- 8. ¿Cómo ejecutar la aplicación iphone GameCenter desde mi aplicación?
- 9. ¿Cómo firmar mi aplicación VB.NET?
- 10. Inicie la página web desde mi aplicación
- 11. Invocar Adobe Reader desde mi aplicación Android
- 12. ¿Cómo abro una aplicación de terminal desde node.js?
- 13. Enviar MMS desde Mi aplicación en android
- 14. ¿Utiliza Googlemap desde mi aplicación Delphi?
- 15. contestar la llamada entrante desde mi aplicación
- 16. Lanzamiento de la aplicación externa desde mi aplicación
- 17. Iniciar aplicación desde el paquete de aplicación
- 18. ¿Cómo usar WhatsApp desde mi aplicación de Android?
- 19. ¿Debo liberar mi aplicación si incluyo MySQL Connector/J (GPL) como parte de mi paquete?
- 20. Aplicación spotify de apertura desde mi aplicación iphone
- 21. ¿Cómo debería estructurar mi tabla de configuraciones con MySQL?
- 22. emulator no muestra mi aplicación
- 23. Bloquear/desbloquear una aplicación desde mi aplicación: Android
- 24. API especial para iniciar una aplicación desde mi aplicación
- 25. ¿cómo transfiero mi aplicación de iPhone a mi iPhone real?
- 26. ¿Cómo ejecutar un Groovy Script desde mi aplicación Grails?
- 27. ¿Cómo ejecuto un archivo por lotes desde mi aplicación Java?
- 28. Paquete de configuraciones para la aplicación de iPhone
- 29. escribiendo NSDictionary para aplicar en mi paquete de aplicaciones
- 30. MonoTouch: Cómo proteger mi aplicación
El enlace ahora apunta a documentos inexistentes. –