¿Cómo agregar el button a settings.bundle?

Estoy desarrollando una aplicación de iPhone y, por defecto, el usuario sigue conectado. Si quiere cerrar session, debe abrir la Configuración y hacer clic en el button "Cerrar session", que borrará sus datos y solicitará un inicio de session la próxima vez que se abra la aplicación . ¿Cómo agrego un button como este? Como en la configuration de Twitter

introduzca la descripción de la imagen aquí

Lamentablemente, esto no es posible utilizando API públicas. Tenga en count que Apple reserva muchas, muchas características indocumentadas (y extremadamente interesantes) para él y las aplicaciones de su socio. Está limitado a lo siguiente:

Campo de text : el tipo de campo de text muestra un título (opcional) y un campo de text editable. Puede usar este tipo para las preferences que requieren que el usuario especifique un valor de cadena personalizado. La key para este tipo es PSTextFieldSpecifier.

Título : el tipo de título muestra un valor de cadena de solo lectura. Puede usar este tipo para mostrar los valores de preference de solo lectura. (Si la preference contiene valores crípticos o no intuitivos, este tipo le permite asignar los valores posibles a cadenas personalizadas). La key para este tipo es PSTitleValueSpecifier.

Interruptor de palanca : el tipo de interruptor de palanca muestra un button de activación / desactivación. Puede usar este tipo para configurar una preference que puede tener solo uno de dos valores. Aunque normalmente utiliza este tipo para representar preferences que contienen valores booleans, también puede utilizarlo con preferences que contienen valores no booleans. La key para este tipo es PSToggleSwitchSpecifier.

Control deslizante : el tipo de control deslizante muestra un control deslizante. Puede utilizar este tipo para una preference que represente un range de valores. El valor para este tipo es un número real cuyo valor mínimo y máximo se especifica. La key para este tipo es PSSliderSpecifier.

Multivalor : el tipo multivalor le permite al usuario seleccionar un valor de una list de valores. Puede utilizar este tipo para una preference que admita un set de valores mutuamente exclusivos. Los valores pueden ser de cualquier tipo. La key para este tipo es PSMultiValueSpecifier.

Grupo : el tipo de grupo es para organizar grupos de preferences en una sola página. El tipo de grupo no representa una preference configurable. Simplemente contiene una cadena de título que se muestra inmediatamente antes de una o más preferences configurables. La key para este tipo es PSGroupSpecifier.

Child : panel El tipo de panel secundario permite al usuario navegar a una nueva página de preferences. Utiliza este tipo para implementar preferences jerárquicas. Para get más información sobre cómo configurar y utilizar este tipo de preference, consulte "Preferences jerárquicas". La key para este tipo es PSChildPaneSpecifier.

Como CodaFi dijo que no es posible. Sin embargo, podría ser una buena solución usar un interruptor para "mantenerme conectado". Y cuando el usuario lo apaga, puede mostrar la pantalla de inicio de session en el próximo lanzamiento.

Si no te importa usar el complemento de terceros "InAppSettingsKit" para la configuration de tu aplicación, parece que te permitirán hacer lo que necesites. Actualmente estoy estudiando esto por mi count, pero a partir de un escaneo rápido a través de su documentation parece que te permitirían agregar botones así como vistas completamente personalizadas del panel secundario: http://www.inappsettingskit.com/

En esa página, estudie las secciones "IASKButtonSpecifier" y "Custom Viewcontrollers".

Publicaré un seguimiento aquí para informarle cómo me funcionó esto. Ya estoy usando InAppSettingsKit, y me encanta hasta ahora.

Descargue el código y la aplicación de ejemplo de Github: https://github.com/futuretap/InAppSettingsKit

A continuación, abra InAppSettingsKit.xcworkspace en su XCode y estudie cómo implementaron los diferentes types de inputs de Configuración. Definitivamente son compatibles con lo que estás buscando. Es realmente bastante impresionante.

Erik