Возможный дубликат:
Как я могу отобразить версию версии приложения в пакете настроек моего приложения?
У меня есть приложение для iPhone, которое отображает текущую версию как константу настроек (как и в Skype).
Когда я выпустил первую версию приложения, я использовал этот код для установки настроек приложения:
- (void)registerDefaultsFromSettingsBundle {
NSString *settingsBundle = [[NSBundle mainBundle] pathForResource:@"Settings" ofType:@"bundle"];
if(!settingsBundle) {
NSLog(@"Could not find Settings.bundle");
return;
}
NSDictionary *settings = [NSDictionary dictionaryWithContentsOfFile:[settingsBundle stringByAppendingPathComponent:@"Root.plist"]];
NSArray *preferences = [settings objectForKey:@"PreferenceSpecifiers"];
NSMutableDictionary *defaultsToRegister = [[NSMutableDictionary alloc] initWithCapacity:[preferences count]];
for(NSDictionary *prefSpecification in preferences) {
NSString *key = [prefSpecification objectForKey:@"Key"];
if(key) {
[defaultsToRegister setObject:[prefSpecification objectForKey:@"DefaultValue"] forKey:key];
}
}
[[NSUserDefaults standardUserDefaults] registerDefaults:defaultsToRegister];
[defaultsToRegister release];
}
И это сработало отлично и шикарно.
Проблема, с которой я столкнулся сейчас, заключается в том, что если вы обновляете приложение, эти значения по умолчанию (Настройки) не переписываются, поэтому версия приложения не обновляется.
Как я могу заставить задавать определенные настройки при каждой установке?
Спасибо Гонсо