天天看點

iOS Settings.bundle 建立和使用(系統設定中展示App版本等資訊)

//聯系人:石虎 QQ:1224614774 昵稱:嗡嘛呢叭咪哄

                    QQ群:807236138  群稱:iOS 技術交流學習群

一、概念

  在iOS開發中很多時候開發者需要讓使用者自行設定一些系統的配置項目,在系統設定中展示App版本等資訊

在裝置設定中,App權限下面展示自定義内容,如類似下圖圈住區域内容

如圖:

iOS Settings.bundle 建立和使用(系統設定中展示App版本等資訊)

二、官方文檔 Settings.bundle配置說明

   1. Settings.bundle 文檔連結:

   2. 在Settings.bundle中支援如下幾種配置項:

iOS Settings.bundle 建立和使用(系統設定中展示App版本等資訊)

三、開始設定

1.在項目中添加Settings.bundle檔案

圖1:

iOS Settings.bundle 建立和使用(系統設定中展示App版本等資訊)

圖2:

iOS Settings.bundle 建立和使用(系統設定中展示App版本等資訊)

圖3:

iOS Settings.bundle 建立和使用(系統設定中展示App版本等資訊)

2.修改Settings.bundle的Root.plist清單

圖4:

iOS Settings.bundle 建立和使用(系統設定中展示App版本等資訊)

*1.Group類似于UITableView中的Group分組,用來表示一組設定項,配置如下所示:

配置項說明:

    (1)Title:表示分組的顯示标題

    (2)Type:預設是Group

    (3)FooterText:Group的底部顯示的文字内容

*2.Title

    (1)Type:預設是Title

    (2)Title:配置項顯示的标題

    (3)Identifier:設定項的辨別符,用于讀取配置項的配置内容

    (4)Default Value:預設的值

四、效果圖:

原圖:

iOS Settings.bundle 建立和使用(系統設定中展示App版本等資訊)

效果圖:

iOS Settings.bundle 建立和使用(系統設定中展示App版本等資訊)

五、程式中擷取配置資訊

- (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檔案。

謝謝!!!

繼續閱讀