Settings.bundle

使用方法

  • 新建工程创建Settings.bundle,如下图所示:
屏幕快照 2016-09-22 下午6.04.29.png
  • 查看Settings.bundle 的内容如下:
屏幕快照 2016-09-22 下午9.02.34.png
  • Root.plist 的内容如下(可以通过文本编辑器打开,查看里面的完整内容,主要可以找key 方便对设置的内容做修改):
屏幕快照 2016-09-22 下午9.04.27.png
  • 对应手机的样式如下图:
Simulator Screen Shot 2016年9月26日 下午3.42.03.png
  • 代码获取Root.plist的内容:
    - (void)settingBundle{
    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];
    }
    }
    //registerDefaults方法调用时会check NSUserDefaults里是否已经存在了相同的key,如果有则不会把其覆盖 需要重点看一下
    [[NSUserDefaults standardUserDefaults] registerDefaults:defaultsToRegister];
    }
  • 代码修改Settings.bundle 的设置
    [[NSUserDefaults standardUserDefaults]setObject:@"小王" forKey:@"name_preference"];
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容