// get pre-set value
-(NSDictionary*)settingsBundleDefaultValues
{
NSMutableDictionary *defaultDic_ = [[NSMutableDictionary alloc]init];
NSURL *settingsUrl = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"Root"
ofType:@"plist"
inDirectory:@"Settings.bundle"] isDirectory:YES];
NSDictionary *settingBundle = [NSDictionary dictionaryWithContentsOfURL:settingsUrl];
NSArray *preference_ = [settingBundle objectForKey:@"PreferenceSpecifiers"];
for (NSDictionary *component_ in preference_) {
NSString *key = [component_ objectForKey:@"Key"];
NSString *defaultValue = [component_ objectForKey:@"DefaultValue"];
if (!key||!defaultValue) continue;
if (![component_ objectForKey:key]) {
[defaultDic_ setObject:[component_ objectForKey:@"DefaultValue"] forKey:key];
}
}
return defaultDic_;
}
// get
NSUserDefaults *userDefault = [NSUserDefaults standardUserDefaults];
// this step need to code
[userDefault registerDefaults:[self settingsBundleDefaultValues]];
NSString *text = [userDefault stringForKey:@"key-name"];
本文介绍了一种从iOS应用的Settings.bundle中读取默认设置值的方法,并展示了如何使用Objective-C来实现这一功能。通过解析Settings.bundle内的.plist文件,可以获取各个设置项的默认值并注册到NSUserDefaults中。
2721

被折叠的 条评论
为什么被折叠?



