//联系人: 石虎 QQ:1224614774 昵称:嗡嘛呢叭咪哄
QQ群:807236138 群称:iOS 技术交流学习群
一、概念
在iOS开发中很多时候开发者需要让用户自行设置一些系统的配置项目,在系统设置中展示App版本等信息
在设备设置中,App权限下面展示自定义内容,如类似下图圈住区域内容
如图:
二、官方文档 Settings.bundle配置说明
1. Settings.bundle 文档链接:
2. 在Settings.bundle中支持如下几种配置项:
三、开始设置
1.在项目中添加Settings.bundle文件
图1:
图2:
图3:
2.修改Settings.bundle的Root.plist列表
图4:
*1.Group类似于UITableView中的Group分组,用来表示一组设置项,配置如下所示:
配置项说明:
(1)Title:表示分组的显示标题
(2)Type:默认是Group
(3)FooterText:Group的底部显示的文字内容
*2.Title
(1)Type:默认是Title
(2)Title:配置项显示的标题
(3)Identifier:设置项的标识符,用于读取配置项的配置内容
(4)Default Value:默认的值
四、效果图:
原图:
效果图:
五、程序中获取配置信息
- (void)viewDidLoad {
[super viewDidLoad];
//获取SettingsBundle信息
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
NSLog(@"%@",[userDefaults objectForKey:@"title_perference"]);
NSLog(@"%@",[userDefaults objectForKey:@"sex_perference"]);
NSLog(@"%@",[userDefaults objectForKey:@"name_preference"]);
NSLog(@"%@",[userDefaults objectForKey:@"enabled_preference"]);
NSLog(@"%@",[userDefaults objectForKey:@"slider_preference"]);
}
注意点:
如果运行应用后直接直接通过上面的代码获取信息,你会得到null;原因是:
root.plist实际上只是一个静态文件用来在设置里显示;只有当你对它进行修改,它才会往NSUserDefaults里添加。修改配置后,NSUserDefaults的优先级高于root.plist文件。