[iOS]設定バンドル Settings Bundle | Cocoa練習帳

[iOS]設定バンドル Settings Bundle

どの様な物かは知っていたが、ユーザーの立場からアクセスがしづらいのでは?と思えて縁がなかった物の一つに設定バンドル(Settings Bundle)がある。




プロジェクトの新規ファイルとして、ResourceのSettings Bundleを選択する。




新規文書




Setting.bundleのRoot.plistに項目を設定する。
デフォルトでは、テキストフィールドNameとトグルスイッチ、スライダーの3項目が用意されている。




Root.plist




実装すると、この3項目が表示される。




Settings




設定バンドルの値は、以下のコードで取得できる




- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    NSLog(@"%s", __func__);
    NSString    *name = [[NSUserDefaults standardUserDefaults] stringForKey:@"name_preference"];
    NSLog(@"Name:%@", name);
    BOOL    enabled = [[NSUserDefaults standardUserDefaults] boolForKey:@"enabled_preference"];
    NSLog(@"Enabled:%d", (int)enabled);
    float    slider = [[NSUserDefaults standardUserDefaults] floatForKey:@"slider_preference"];
    NSLog(@"Slider:%f", slider);
    return YES;
}
 
- (void)applicationDidBecomeActive:(UIApplication *)application
{
    NSLog(@"%s", __func__);
    NSString    *name = [[NSUserDefaults standardUserDefaults] stringForKey:@"name_preference"];
    NSLog(@"Name:%@", name);
    BOOL    enabled = [[NSUserDefaults standardUserDefaults] boolForKey:@"enabled_preference"];
    NSLog(@"Enabled:%d", (int)enabled);
    float    slider = [[NSUserDefaults standardUserDefaults] floatForKey:@"slider_preference"];
    NSLog(@"Slider:%f", slider);
}



ソースコード
GitHubからどうぞ。

https://github.com/murakami/workbook/tree/master/ios/SettingsBundle - GitHub


関連情報
Preferences and Settings Programming Guide

Apple Developerサイトの情報。