本体の設定画面にアプリの設定画面が出るアレであるが、Settings Bundleで検索すると色々出てくる。
■実装
NEW FILE … > Resource > Settings Bundleを追加する。この段階でシミュレータを立ち上げれば設定画面にアプリの設定項目が追加されている。
Root.plist
初期状態は以下のようになっている。
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>PreferenceSpecifiers</key> <array> <dict> <key>Title</key> <string>Group</string> <key>Type</key> <string>PSGroupSpecifier</string> </dict> <dict> <key>AutocapitalizationType</key> <string>None</string> <key>AutocorrectionType</key> <string>No</string> <key>DefaultValue</key> <string></string> <key>IsSecure</key> <false/> <key>Key</key> <string>name_preference</string> <key>KeyboardType</key> <string>Alphabet</string> <key>Title</key> <string>Name</string> <key>Type</key> <string>PSTextFieldSpecifier</string> </dict> <dict> <key>DefaultValue</key> <true/> <key>Key</key> <string>enabled_preference</string> <key>Title</key> <string>Enabled</string> <key>Type</key> <string>PSToggleSwitchSpecifier</string> </dict> <dict> <key>DefaultValue</key> <real>0.5</real> <key>Key</key> <string>slider_preference</string> <key>MaximumValue</key> <integer>1</integer> <key>MaximumValueImage</key> <string></string> <key>MinimumValue</key> <integer>0</integer> <key>MinimumValueImage</key> <string></string> <key>Type</key> <string>PSSliderSpecifier</string> </dict> </array> <key>StringsTable</key> <string>Root</string> </dict> </plist>
■データの読み出し
以下のコードで設定値を呼び出すことが出来る。
NSUserDefaults *ud = [NSUserDefaults standardUserDefaults]; NSLog(@"%@", [ud objectForKey:@"name_preference"]);
NSUserDefaults *ud = [NSUserDefaults standardUserDefaults]; NSLog(@"%@", [ud objectForKey:@"enabled_preference"]);
NSUserDefaults *ud = [NSUserDefaults standardUserDefaults]; NSLog(@"%@", [ud objectForKey:@"slider_preference"]);
一番難しいのは何で検索すればこの画面の作り方に辿り着けるのかというところである。