.19 2011

iPhoneアプリを「設定画面」にて設定するための手順

どうも、あつです。なついですね。
いいえ、UTOです。夏です。暑いです。


アプリ起動時にアプリに関する設定を読み込んで反映させるっという手段はよく使われると思います。

たとえばSkypeアプリの場合「自動ログイン」や「自動ロックしない」といったアプリの動作に関する項目があります。

歯車マークの「設定」を表示し、下の方にスクロールさせるとインストールしているアプリがいくつか列挙されていると思います。
ここに開発するアプリで項目を追加して、起動時に読み込んでみるっということを行いたいと思います。

結構Google先生でもこの部分をまとめた記事ってヒットしにくかったので事細かく書いてみることにします。
キーワードは「Settings.bundle」とか「Root.plist」とか「NSUserDefaults」になりますかね…

まず開発するアプリが、「設定画面」の設定可能アプリリストに登録されるように設定しましょう。

っとその前に公式サイトのヘルプを一読しておくといいでしょう


新規ファイル作成→Resource→Settings Bundleを選択します。
ファイル名を指定して保存します。
するとXCodeのツリー一覧に登録されていますね。

矢印をクリックして中を展開すると「Root.plist」というファイルがあります。
これを編集することで、「設定画面」に表示される設定項目を設定できます。

「設定」キーワードばかりが羅列されますな…

XCode上で編集する場合と他のテキストエディタを使って編集する場合、表示されるキー情報が異なりますので、ご注意を

簡単に設定できるのはXCode上です。
ちなみに環境はXCode4ですよ。

まず「Preference Items」の子としてアイテムを追加しましょう。
するとItem 0が登録されます。
そのItem 0を展開し、TypeのValueを設定しましょう。
このTypeがどのような設定項目にするのかを決めます。

XCode4上では公式ヘルプにあるように以下の項目で選択式にて設定可能です。

・Text field
・Title
・Toggle switch
・Slider
・Multivalue
・Group
・Child pane

まずはGroupを選択しましょう。
そしてTitleのValueにグループの名称を入力します。

次にもう一度Itemを追加し、
今度はTypeをText Fieldにします。
するとType、Titleの他に「Identifier」という項目があります。
これはこの項目を識別する鍵情報となります。
ちなみにXCode以外のエディタで確認するととなっています。
値を参照する際に使用するキー名を入力します。

ちなみにText Fieldはそれだけで設定項目として使用可能ですが、
もう少し細かく設定してみましょう。

Item 1に項目を追加し、
「Text Field Is Secure」→YES とすると、入力した値がパスワードのように伏字になります。
「Keyboard Type」→キーボードタイプを選択可能です。UIKeyboardTypeと同じですね。
「Autocapitalization Style」→入力文字の設定を行います。

ここまでの設定をXCode4とその他のplistエディタで見たときの差異は以下のようになります。

XCode4とその他PListエディタ


実際にアプリをインストールして「設定画面」をひらいてみるとこのようになります。

IMG_0140.png

では、このText Fieldの値をアプリ側で取得しましょう。


NSUserDefaults* userDefaults = [NSUserDefaults standardUserDefaults];
NSString* password = [userDefaults stringForKey: @"password"];


これで完了です。
NSUserDefaultsを使用することで
Identifierにて設定したキー名にて文字列やBOOL型といった情報を簡単に取得可能なようです。

アプリ内で設定画面を作り、アプリ内にて保持するのではなく、
「設定画面」にてユーザーに設定・保存してもらう手法だと管理が楽ですね~

では
関連記事
スポンサーサイト



Comment

Post comment

  • comment
  • secret
  • 管理者にだけ表示を許可する

Trackback

trackbackURL:http://appteam.blog114.fc2.com/tb.php/199-9a114e53

ブログ内検索

関連リンク

製品情報

最新記事

カテゴリ

プロフィール

neoxneo



NEXT-SYSTEM iOS Developers Blog


  • UTO:
    カナダ版iPhone4Sは、マナーモードでシャッター音がならない…


  • Ehara:
    ...


  • Hayate:
    ...


  • Tasaki:
    Developer登録完了...したのはいいけど


  • Ueda:
    ...



リンク