ios - quantum - qgis tutorial
El paquete de configuraciones de ios 8.2 y superior no muestra el elemento seleccionado, pero está predeterminado (2)
Estoy enfrentando un problema con la configuración de la aplicación, estoy usando el paquete de configuración para seleccionar el entorno, pero una vez seleccionada y volviendo a la configuración de la aplicación, se muestra nuevamente la predeterminada como seleccionada.
Esto se observa solo desde ios 8.2 y superiores (dispositivo y simulador). Mi lista de configuración de paquete se ve a continuación.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PreferenceSpecifiers</key>
<array>
<dict>
<key>DefaultValue</key>
<string>1</string>
<key>Key</key>
<string>Environment</string>
<key>Title</key>
<string>Environment</string>
<key>Titles</key>
<array>
<string>Live</string>
<string>Stage</string>
</array>
<key>Type</key>
<string>PSRadioGroupSpecifier</string>
<key>Values</key>
<array>
<string>0</string>
<string>1</string>
</array>
</dict>
</array>
<key>StringsTable</key>
<string>Root</string>
</dict>
</plist>
Ya veo un poco de información en el desbordamiento de pila de que este es un error existente de Apple, espero que alguien tenga alguna actualización al respecto.
Parece que hay un error en iOS 8 y hasta donde la configuración del botón de radio siempre vuelve al valor predeterminado en la aplicación de configuración. Otros se están ejecutando en el mismo problema: el conjunto de configuraciones de iOS PSRadioGroupSpecifier no muestra el valor seleccionado
Si sus ajustes de apariencia se establecen durante el inicio, debe volver a cargar los controles de visualización de la aplicación para mostrar el cambio, de modo que pueda agregar a su aplicaciónDelegar algo como:
NSString *type
en tus ivars
entonces
type = [[NSUserDefaults standardUserDefault] objectForKey:@"Your key"];
en su método didFinishLaunchingWithOptions:
y finalmente, en su método didEnterForeground
, agregue
if(![[[NSUserDefaults standardUserDefault] objectForKey:@"Your key"] isEqualToString:type]){
//Reload your main view controller
[self.window.rootViewController viewDidLoad];
[self.window.rootViewController viewWillAppear:YES];
}