tutorial quantum girona español curso ios objective-c ios8.3 ios8.2 settings-bundle

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.



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]; }