//聯系人:石虎 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檔案。
謝謝!!!