
こんにちは、水曜日担当のかえるです。
前回から2週間も間が開いて6月になってしまいました。
6月と言えば梅雨ですね。
雨は嫌いじゃないですけど、洗濯するタイミングが難しいです。
iPhoneの環境設定画面に自分のアプリの設定画面を追加する事が出来ます。
これに関してちょっと詰まったところがあったので、それのついでに
設定までの流れも書きますね。
*iPhoneAppProgrammingGuideにも詳しく書いてあるので、
そちらも確認してみてください。
1)
まず、"追加>新規ファイル>Setting Bundle"を追加します。
Settings.bundleと名前をつけてください。
2)
このままだと編集し辛いので、書式化して編集しやすくします。
Seetingsバンドル内のRoot.plistを開いて、
"表示>Property List Type>iPhone Stettings plist"を選択します。

で、こんな感じの表示になります。
既にデフォルトでメニューが設定してあるので
ビルド>実行で、起動後設定画面にテストで作ったアプリの
設定画面が追加されています。

設定ファイルと見比べると内容が確認できるともいますが、
”Preference Items”の中に、テーブルの内容が入っています。
グループの名前をつけたり、テキストフィールど付けたりとかですね。
設定画面のアイコンは、何も設定されていない場合は
アプリのアイコンファイルを拡大縮小して表示されます。
この画像とは別の画像を指定する事も出来ます。
3)
値を取得します。
設定は"NSUserDefaults"に保存されていますので、
デフォルトで設定されている”Toggle Switch”を取得します。
NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults];
enable = [defaults integerForKey:@"enabled_preference"];
こんな感じで取得可能です。
いつ取得するれば正しい反影になるのかについてですが
私はこれを"applicationDidBecomeActive"で呼べば良いのかなと思っていたのですが、
これでは、正しい反影が行えませんでした。
設定が変更された通知は別に取得でき、アクティブの通知が着た後で
設定変更の通知が来ていた為でした。
という事で、設定変更の通知は
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(notificationAppSettingChanged:)
name:NSUserDefaultsDidChangeNotification
object:nil];
で通知を受け取る事ができますので、あとは通知が来たら値を更新すれば
正しく反影されると思います。
では、また来週。
posted by R-FORCE at 12:50| 東京

|
Comment(6)
|
TrackBack(0)
|
iOSアプリ開発
|

|