ios 8.2及以上版本的设置包不显示选定的项目,但默认

我面临的应用程序设置的问题,我使用的设置包来select环境,但一旦select,并返回到应用程序设置它再次显示默认的select。

这只是从ios 8.2及以上(设备和模拟器)观察到的。 我的设置捆绑plist看起来像下面。

<?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> 

我已经看到堆栈溢出的一些信息,这是从苹果现有的错误,我希望如果有人有任何更新。

如果在启动期间设置了外观设置,则必须重新加载您的应用视图控制器以显示更改,以便您可以添加到您的AppDelegate中,如下所示:

NSString *type你的ivars

然后

 type = [[NSUserDefaults standardUserDefault] objectForKey:@"Your key"]; 

在你的didFinishLaunchingWithOptions:方法中

最后,在你的didEnterForeground方法中,添加

 if(![[[NSUserDefaults standardUserDefault] objectForKey:@"Your key"] isEqualToString:type]){ //Reload your main view controller [self.window.rootViewController viewDidLoad]; [self.window.rootViewController viewWillAppear:YES]; } 

在iOS 8中似乎有一个错误,在单选button设置总是恢复到设置应用程序的默认值。 其他人遇到同样的问题: iOS设置包PSRadioGroupSpecifier不显示选定的值