環境設定と設定について
環境設定は、永続的に保存し、アプリの設定に使用する情報の一部です。アプリは、ユーザーに環境設定を公開して、アプリの外観や動作をユーザーがカスタマイズできるようにすることがよくあります。ほとんどの環境設定は、ユーザーのデフォルトシステム と呼ばれる Cocoa の環境設定システムを使用してローカルに保存されます。また、アプリでは、キー値保存を使用して、ユーザーの iCloud アカウントに環境設定を保存することもできます。
ユーザーのデフォルトシステムとキー値保存は、文字列、数値、日付、ブール値、URL、データオブジェクトなどなどの単純なデータ型をプロパティリストに格納するように設計されています。プロパティリストを使用すると、また配列型と辞書型を使用して環境設定データを整理することもできます。最初に NSData オブジェクトにそれらをコード化することで、他のオブジェクトをプロパティリストに格納することもできます。
一目見て
アプリは、コード全体のさまざまなポイントで、またユーザーインターフェイスの一部として、プログラムによってさまざまな方法で環境設定を統合します。環境設定は、iOS と Mac のアプリ両方でサポートされています。
どのような設定を公開したいかを決定
環境設定はアプリごとに異なり、アプリのどの部分を構成可能にするかはあなた次第です。構成には、保存された環境設定の値をあなたのコードからチェックし、その値に基づいてアクションを実行することが含まれます。したがって、環境設定の値自体は、常に単純であり、アプリによって実装される特定の意味を持つ必要があります。
関連した項目:どうすれば良い環境設定になるか?
アプリは独自の環境設定インターフェースを提供
各アプリの環境設定は異なるため、アプリ自体が、もしあれば、そのような環境設定をユーザーに提示する方法を決定する責任があります。iOS と OS X の両方で、環境設定インターフェイスを組み込むための標準的な場所をいくつか用意していますが、そのインターフェイスを設計し、適切なタイミングで表示する責任はあなたにあります。
関連した項目:環境設定インタフェースの提供
ユーザーデフォルトオブジェクトを使用して環境設定にアプリはアクセス
アプリは、NSUserDefaults オブジェクト(iOS と OS X) または NSUserDefaultsController オブジェクト (OS Xのみ) のいずれかのユーザーデフォルトオブジェクトを使用して、ローカルに保存された環境設定にアクセスします。環境設定値の取得に加えて、アプリはこのオブジェクトを使用して環境設定のデフォルト値を登録し、環境設定システムの他の側面を管理することができます。
関連した項目:環境設定値へのアクセス
iCloud は共有環境設定と構成データを格納
iCloud をサポートするアプリは、ユーザーの iCloud アカウントに環境設定データの一部を置き、ユーザーの他のデバイスで実行されているアプリのインスタンスで使用できるようにできます。この機能を使用して、アプリの既存の環境設定データを補う (置き換えない) ようにして、ユーザーのデバイス間でより一貫したエクスペリエンスを提供します。たとえば、雑誌アプリでは、ページ番号に関する情報を保存し、最後にユーザーが読んだものを発行して、別のデバイスで実行されているアプリで同じページを表示できるようにできます。
関連した項目:iCloud に環境設定を保存
デフォルトは OS X のドメインにグループ化
OS X の環境設定は、ドメインごとにグループ化されているため、システムの環境設定をアプリの環境設定から区別できます。この方法で環境設定を分割すると、ユーザーは一部の環境設定をグローバルに指定して、アプリ内の環境設定を 1 つ以上オーバーライドできます。
関連した項目:環境設定の構成
iOS アプリの環境設定を管理する設定バンドル
iOS では、アプリは設定アプリから環境設定を表示できます。これは、ユーザーが頻繁に構成する必要のない環境設定を保存するのに適しています。設定アプリで環境設定を表示するには、表示する環境設定、表示する適切な方法、ユーザーの選択を記録するために必要な情報を定義する 設定バンドル という特別なリソースがアプリのバンドルに含まれていなければなりません。
関連した項目:iOS 設定バンドルの実装
以下も見よ
プロパティリストの詳細については、プロパティリストプログラミングガイド を参照してください。
Core Foundation を使用して環境設定を管理する方法の詳細については、Core Foundation の環境設定プログラミングトピック を参照してください。
次の章