Swift2でアプリの設定画面(Settings.bundle)を利用する

覚えておくとわざわざ画面を作らずに各種設定が出来るようになります
ただいちいち設定画面を開くのは若干面倒かもしれない








設定アプリでアプリケーション固有の設定ができるようにする



まずXcodeから
Command + N → Resorce → Settings Bundle
からSettings.bundle ファイルを作成

Settings Bundle作成

Root.plist を開くと既に幾つか設定が追加されています

Settings Bundle

Preference以下のitem を編集する

画像の例では設定をテキストフィールドで変更できるようにし、タイトルに title,プログラム上で設定値を取得するときに使うidentifierをtestに設定しています。詳細は割愛

アプリケーションのインストール後、設定アプリを再起動(重要)するとアプリケーション固有の設定ができるようになります

設定画面


設定した値をソース上から取得する



設定した値はNSUserDefaults に登録される模様

var settingValue:String = ""
        
let defaults = NSUserDefaults()
if( defaults.objectForKey("test") != nil ) {
    settingValue = defaults.objectForKey("test") as! String
}

Root.plistのDefaultValueは設定画面で最初に表示される値でNSUserDefaultに設定される訳ではないらしい
最初にBundleを読み込んでDefaultValueの値を設定するという手もあるにはあるが...
変更するたびに設定アプリの再起動が必要なので注意すること



2016年8月27日土曜日