Titanium iPhoneの設定画面に設定項目を追加できるようにする。
ちょっとタイトルが意味分からないけど、iPhoneのホーム画面にある「設定」を選択するとアプリケーションごとの設定が出来る画面があると思う。これのこと。
しらばらく調べると、Titaniumのプロジェクト以下にmodules/iphone/Settings.bundleにRoot.plistというファイルを作ってそこに色々設定を行うことで、勝手に登録されるぽい。
KitchenSinkの以下の場所にサンプルがあった。
https://github.com/appcelerator/titanium_mobile/tree/master/demos/KitchenSink/modules/iphone/Settings.bundle
これは、iPhoneの設定ファイルらしいので、以下のURLとかで詳細を調べるとよい。
http://developer.apple.com/library/ios/#documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/Preferences/Preferences.html
http://knol.google.com/k/iphone-sdk-application-preferences
以下、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>StringsTable</key> <string>Root</string> <key>PreferenceSpecifiers</key> <array> <dict> <key>Type</key> <string>PSGroupSpecifier</string> <key>Title</key> <string>Hironemu Sample App</string> </dict> <dict> <key>Type</key> <string>PSTextFieldSpecifier</string> <key>Title</key> <string>Sample count label</string> <key>Key</key> <string>sample_count_preference</string> <key>DefaultValue</key> <string>20</string> <key>IsSecure</key> <false/> <key>KeyboardType</key> <string>NumberPad</string> <key>AutocapitalizationType</key> <string>None</string> <key>AutocorrectionType</key> <string>No</string> </dict> </array> </dict> </plist>
上記のサンプルでは、sample_count_preferenceというキーでデフォルト値20という数値を表示するようになっている。(設定画面に表示されるときの名前は、「Sample count label」となる)
この値を、アプリ側から取得するには例えば以下のようにする。
var count = Ti.App.Properties.getInt('sample_count_preference', 20);
最初、Root.plistでデフォルト値20と設定しているけど、最初この値はアプリ側では取れないらしい。なので、上記の例では第2引数でデフォルト値を設定している。
Ti.App.Propertiesの説明は以下のページが分かりやすい。
Google Code Archive - Long-term storage for Google Code Project Hosting.
と、こんな感じで簡単に設定画面に追加できて、値も簡単に取得できますよ、っと。