【发布时间】:2010-11-21 15:16:13
【问题描述】:
可能重复:
How can I display the application version revision in my application's settings bundle?
我有一个 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];
}
这很好用。
我现在面临的问题是,如果你更新应用程序,这些默认值(设置)也不会重写,所以应用程序版本没有更新。
如何强制在每次安装时设置特定设置?
谢谢 贡索
【问题讨论】: