プロパティリスト キー リファレンス


以下のセクションは、インフォメーションプロパティリスト ファイルにおいて用いるために使用可能な、プロパティリスト キー の使い方と振る舞いについての詳細情報を含んでいます。

キーの概要

表 1 は、あなたがインフォメーションプロパティリスト ファイルで使用することのできるキーを、型情報と、短い説明と共にした、アルファベット順の一覧を含んでいます。これらのキーの詳細な説明は、「キーの説明」(20ページ)を参照してください。

表 1 標準的なキーの概要

キー 概要
APInstallerURL String あなたがインストールしたいファイルへの、URLベースのパスです。詳細は「APInstallerURL」(20ページ)を参照してください。
APFiles Array インストールすることのできるファイルやディレクトリを記述した、辞書の配列です。詳細は「APFiles」(20ページ)を参照してください。
CFAppleHelpAnchor String バンドルの初期 HTML ヘルプファイルです。 詳細は「CFAppleHelpAnchor」(20ページ)を参照してください。
CFBundleAllowMixedLocalizations Boolean フレームワークから各国語化されたリソースを取得するために、Foundation tools によって使用されます。詳細は「APInstallerURL」(21ページ)を参照してください。
CFBundleDevelopmentRegion String バンドルにとって地元となる地域です。通常は、著者の母国語と対応しています。詳細は「CFBundleDevelopmentRegion」(21ページ)を参照してください。
キー 概要
CFBundleDisplayName String バンドルの実際の名前です。詳細は「CFBundleDisplayName」(21ページ)を参照してください。
CFBundleDocumentTypes Array バンドルによって対応されている書類タイプを記述した辞書の配列です。詳細は「CFBundleDocumentTypes」(21ページ)を参照してください。
CFBundleExecutable String バンドル実行可能ファイルの名前です。詳細は「CFBundleExecutable」(23ページ)を参照してください。
CFBundleGetInfoString String バンドルの簡潔な説明です。詳細は「CFBundleGetInfoString」(23ページ)を参照してください。
CFBundleHelpBookFolder String バンドルのヘルプファイルを格納しているフォルダの名前です。 詳細は「CFBundleHelpBookFolder」(23ページ)を参照してください。
CFBundleHelpBookName String ヘルプビューアがこのバンドルに対して起動されたときに表示するヘルプファイルの名前です。詳細は「CFBundleHelpBookName」(23ページ)を参照してください。
CFBundleIconFile String アイコン画像ファイルのファイル名です。詳細は「CFBundleIconFile」(23ページ)を参照してください。
CFBundleIdentifier String バンドルのアプリケーションタイプを指定する識別文字列です。この文字列は、たとえば com.mycompany.MyApp のように、uniform type identifier(UTI)とする必要があります。詳細は「CFBundleIdentifier」(24ページ)を参照してください。
CFBundleInfoDictionaryVersion String Info.plistフォーマットのバージョン情報です。詳細は「CFBundleInfoDictionaryVersion」(24ページ)を参照してください。
CFBundleLocalizations Array 自分で所有する各国語化リソースを扱うアプリケーションのための、各国語化情報を格納します。詳細は「CFBundleLocalizations」(24ページ)を参照してください。
CFBundleName String バンドルの短縮表示名です。詳細は「CFBundleName」(24ページ)を参照してください。
CFBundlePackageType String バンドルのタイプを識別する、四文字のコードです。詳細は「CFBundlePackageType」(24ページ)を参照してください。
キー 概要
CFBundleShortVersionString String バンドルのためのリリースバージョン番号です。詳細は「CFBundleShortVersionString」(25ページ)を参照してください。
CFBundleSignature String バンドルのクリエータを識別する四文字コードです。詳細は「CFBundleSignature」(25ページ)を参照してください。
CFBundleURLTypes Array バンドルが対応しているURLスキームを記述した辞書の配列です。 詳細は「CFBundleURLTypes」(25ページ)を参照してください。
CFBundleVersion String バンドルのためのビルドバージョン番号です。 詳細は「CFBundleVersion」(26ページ)を参照してください。
CFPlugInDynamicRegistration String もし YES であれば、プラグインを動的に登録します。そうでなければ、静的に登録します。詳細は「CFPlugInDynamicRegistration」(26ページ)を参照してください。
CFPlugInDynamicRegistrationFunction String 動的登録関数のカスタム名です。詳細は「CFPlugInDynamicRegistrationFunction」(26ページ)を参照してください。
CFPlugInFactories Dictionary この辞書は静的登録のために、対応する関数名と共に UUID のリストを格納します。詳細は「CFPlugInFactories」(26ページ)を参照してください。
CFPlugInTypes Dictionary 静的登録のための、UUIDのリストです。詳細は「CFPlugInTypes」(26ページ)を参照してください。
CFPlugInUnloadFunction String メモリからプラグインをアンロードするときに呼ぶためのカスタム関数の名前です。詳細は「CFPlugInUnloadFunction」(26ページ)を参照してください。
CSResourcesFileMapped Boolean 真であれば、Core Services のルーチンはバンドルのリソースファイルを読む代わりにメモリへ割り当てます。 詳細は「CSResourcesFileMapped」(27ページ)を参照してください。
LSBackgroundOnly String アプリケーションがバックグラウンドでのみ動くかどうかを指定します。(Mach-Oアプリケーションのみ)詳細は「LSBackgroundOnly」(27ページ)を参照してください。
キー 概要
LSEnvironment Dictionary 環境変数とその値を表す、キーと値のペアのリストを格納します。詳細は「LSEnvironment」(27ページ)を参照してください。
LSGetAppDiedEvents Boolean 子プロセスが死んだときに、アプリケーションが通知を受けるかどうかを指定します。詳細は「LSGetAppDiedEvents」(27ページ)を参照してください。
LSHasLocalizedDisplayName Boolean アプリケーションが各国語化された表示名に対応するかどうかを指定します。詳細は「LSHasLocalizedDisplayName」(27ページ)を参照してください。
LSMinimumSystemVersion String アプリケーションが実行するために必要とする最小限のMac OS Xのバージョンを指定します。詳細は「LSMinimumSystemVersion」(28ページ)を参照してください。
LSMultipleInstancesProhibited Boolean アプリケーションを同時に起動できるのが一ユーザか、複数ユーザかを指定します。詳細は「LSMultipleInstancesProhibited」(28ページ)を参照してください。
LSPrefersCarbon String Carbon環境内での実行を推奨するアプリケーションであるかを指定します。詳細は「LSPrefersCarbon」(28ページ)を参照してください。
LSPrefersClassic String Classic環境内での実行を推奨するアプリケーションであるかを指定します。詳細は「LSPrefersClassic」(28ページ)を参照してください。
LSRequiresCarbon String Carbonアプリケーションとして実行する必要があるアプリケーションであるかを指定します。詳細は「LSRequiresCarbon」(28ページ)を参照してください。
LSRequiresClassic String Classic環境内で実行する必要があるアプリケーションであるかを指定します。詳細は「LSRequiresClassic」(29ページ)を参照してください。
LSUIElement String アプリケーションが代理【agent】アプリケーションであるか、つまり、Dock や強制終了ウインドウに現れるべきアプリケーションであるかを指定します。詳細は「LSUIElement」(29ページ)を参照してください。
LSUIPresentationMode Number アプリケーション起動時の、システムUI要素の可視性を設定します。詳細は「LSUIPresentationMode」(29ページ)を参照してください。
キー 概要
LSVisibleInClassic String 代理アプリケーション、またはバックグラウンドのみのアプリケーションが、他のClassic環境内のアプリケーションから見えるかどうかを指定します。詳細は「LSVisibleInClassic」(30ページ)を参照してください。
NSAppleScriptEnabled Boolean または String AppleScriptが有効かどうかを指定します。詳細は「NSAppleScriptEnabled」(30ページ)を参照してください。
NSHumanReadableCopyright String バンドルのための著作権の注意書きを指定します。詳細は「NSHumanReadableCopyright」(30ページ)を参照してください。
NSJavaNeeded Boolean または String このプログラムが Java 仮想マシンの実行を必要とするかどうかを指定します。詳細は「NSJavaNeeded」(30ページ)を参照してください。
NSJavaPath Array NSJavaRoot で始まる内容を持つクラスへのパスの配列です。【なんだそれ】詳細は「NSJavaPath」(31ページ)を参照してください。
NSJavaRoot String Java クラス群を格納するルートディレクトリです。 詳細は「NSJavaRoot」(30ページ)を参照してください。
NSMainNibFile String アプリケーションのメイン nib ファイルの名前です。 詳細は「NSMainNibFile」(30ページ)を参照してください。
NSPersistentStoreTypeKey String 永続書類タイプに関連付けられた、 Core Data 永続ストアのタイプです。 詳細は「NSPersistentStoreTypeKey」(31ページ)を参照してください。
NSPrefPaneIconFile String システム環境設定 アプリケーション内の、環境設定ペインを表すために使用される画像ファイルリソースの名前です。 詳細は「NSPrefPaneIconFile」(31ページ)を参照してください。
NSPrefPaneIconLabel String システム環境設定 アプリケーション内の環境設定ペインアイコンの下に表示される、環境設定ペインの名前です。 詳細は「NSPrefPaneIconLabel」(31ページ)を参照してください。
NSPrincipalClass String バンドルのメインクラスの名前です。 詳細は「NSPrincipalClass」(31ページ)を参照してください。
NSServices Array アプリケーションによって提供されるサービスを指定する辞書の配列です。 詳細は「NSServices」(31ページ)を参照してください。

キーの説明

Mac OS X はバンドルに関する情報を指定するための、核となるキーのセットを提供しています。これらのキーの内のいくつかは、あなたが作成するプロジェクトの種類に応じて、Xcode アプリケーションによりデフォルト値が与えられます。

APInstallerURL

このキーは、あなたがインストールしたいファイルへの基点となるパスを識別します。あなたはこのパスを file://localhost/path/ の形式を用いて指定しなければいけません。インストールされるすべてのファイルはこのディレクトリの中に属している必要があります。

APFiles

このキーは、あなたがインストールしたいファイル、もしくはディレクトリを指定します。あなたはこのキーを、あなたがインストールしたいファイルかディレクトリについての、情報を格納した内容を持つ辞書として指定します。

複数の項目を指定するためには、このキーそのものの中に、ディレクトリの中のファイルを指定する APFiles キーを入れ子にします。

表 2 は単一のファイル、もしくはディレクトリについての情報を指定するためのキーを一覧にしています。

表 2 APFiles 辞書 のためのキー

キー 説明
APFileDescriptionKey String Finder の情報ウインドウに表示するための、項目の短い説明です
APDisplayedAsContainer String もし"Yes"であれば、項目は情報パネル【上の情報ウインドウと一緒?】内にフォルダアイコンで表示されます。そうでなければ、書類アイコンで表示されます。
APFileDestinationPath String アプリケーションバンドルまでの相対的なパスとしての、構成要素【component】のインストール先です。
APFileName String ファイルまたはディレクトリの名前です。
APFileSourcePath String APInstallerURL 【これ】のパスとの相対的な、アプリケーションパッケージ内の構成要素へのパスです。
APInstallAction String 【インストール時に?】構成要素に対してとる行動です。"Copy" または "Open" となります。

CFAppleHelpAnchor

このキーは、バンドルの初期 HTML ヘルプファイルの名前から .html もしくは .htm 拡張子を除いたものを識別します。

このファイルはバンドルの各国語化リソースディレクトリに配置するか、もしヘルプが各国語化されていなければ、直接 Resources ディレクトリの下に置かなければいけません。

CFBundleAllowMixedLocalizations

このキーは、バンドルがフレームワークからの各国語化された文字列の取得に対応しているかどうかを指定します。

このキーは、他のシステムフレームワークとリンクし、それらのフレームワークから各国語化されたリソースを取得する必要のある、Foundation tools によって主に用いられます。

CFBundleDevelopmentRegion

このキーは、バンドルにとっての地元となる地域を指定します。このキーは、通常はバンドルを書いた人物の母国語と対応した、文字列の値を格納します。

この値で指定された言語は、ユーザの優先する地域や言語向けのリソースが特定できない場合に、デフォルトの言語として用いられます。

CFBundleDisplayName

このキーは、バンドルの表示名を指定します。もしあなたのバンドルの各国語化された名前に対応するのであれば、あなたのインフォメーションプロパティリスト ファイルと、あなたの言語サブディレクトリの InfoPlist.strings ファイルの両方にこのキーを含めてください。

もしあなたがこのキーを各国語化するのであれば、CFBundleName キー【バンドルの短縮名】の各国語化バージョンも含めるべきでしょう。

もし、あなたのバンドルを各国語化することを意図していなければ、このキーをあなたのInfo.plist ファイルに含めてはいけません。このキーを含むことは、バンドル名の表示には影響を与えませんが、このキーの各国語化されたバージョンを捜すための性能上のペナルティを引き起こします。

あなたのバンドルの各国語化された名前を表示する前に、Finder はこのキーの値を、ファイルシステムにおけるあなたのバンドルの実際の名前と比較します。

もし二つの名前が一致すれば、Finder はあなたのバンドルの適切な InfoPlist.strings ファイルからの各国語化された名前の表示を続行します。

もし一致しなければ【たとえばユーザの手によりアプリケーションバンドルの名前が変更された場合】、Finderはファイルシステムにおける名前を表示します。

表示名の詳細は、File System Overviewを参照してください。

CFBundleDocumentTypes

このキーは、そのそれぞれが、あなたのアプリケーションと関連付けられた書類のタイプである、辞書の配列を格納します。各辞書はタイプ定義辞書【type-definition dictionary】と呼ばれており、書類タイプを定義するために用いられるキーを格納しています。

表 3 はこれらの辞書で対応されているキーを一覧にしています。

表 3 タイプ定義辞書のためのキー

キー 説明
CFBundleTypeExtensions Array

このキーは文字列の配列を格納します。各文字列にはこの書類タイプと対応付けるための(先頭のピリオドを除く)ファイル名拡張子を格納します。

任意の拡張子を持つ書類を開くためには、単一のアスタリスク "*" を拡張子として指定してください。

CFBundleTypeIconFile String このキーは、この書類タイプと関連付けられたアイコンファイルの名前を指定します。もしあなたが拡張子を省略したら、システムは .icns 拡張子を持つあなたのファイルを探します。
CFBundleTypeMIMETypes Array 文字列の配列を格納します。各文字列は、あなたがこの書類タイプと対応付けしたいMIMEタイプ名を格納します。
CFBundleTypeName String

このキーは、書類のタイプと、そのタイプを参照するために用いられる、抽象化された名前を格納します。このキーは必須であり、InfoPlist.strings ファイルに含めることで各国語化することができます。

この値は、タイプを参照するための主な手段であり、そのユニーク性を保証するためにあなたが uniform type identifier (UTI)を使用することが推奨されています。

もし、タイプがシステムによって対応されている、共通クリップボードタイプであれば、NSPasteboard クラスの記述内に列挙されている標準タイプのいずれかを使用することができます。

UTI の詳細は、Uniform Type Identifiers Overviewを参照してください。

CFBundleTypeOSTypes Array

このキーは文字列の配列を格納します。各文字列はこの書類タイプと対応付けしたい、四文字のタイプコードを格納します。

任意のタイプの書類を開くためには、タイプコードとして四つのアスタリスク文字(****)を含めてください。

これらのコードは、Mac OS 9 で使用されていた旧来のタイプコードと同義です。

CFBundleTypeRole String このキーは、タイプを尊重したアプリケーションの役割を指定します。値は、Editer、Viewer、Shell、None のいずれかとすることができます。これらの値の説明は、「書類の設定」(41ページ)を参照してください。このキーは必須です。
LSTypeIsPackage Boolean 書類がバンドルとして配布されるかどうかを指定します。真が設定されている場合は、、バンドルディレクトリはファイルとして扱われます。
NSDocumentClass String このキーは、この書類のインスタンスを生成するために用いられる、NSDocument のサブクラスの名前を指定します。このキーは Cocoa アプリケーションによってのみ用いられます。
NSExportableAs Array

このキーは文字列の配列を指定します。各文字列は他の書類タイプ、すなわち、NSBundleTypeName プロパティの値を格納します。

この値は、この書類がその内容をエクスポート【書き出し】できる、別のデータ形式を表します。

このキーは Cocoa アプリケーションによってのみ用いられます。

書類タイプを登録するときには、あなたは最低限、CFBundleTypeExtensions、CFBundleTypeMIMETypes、CFBundleTypeOSTypes のいずれかのキーを、適切なデータと一緒に指定する必要があります。もし、これらのキーを一つも指定しなければ、タイプ-名前指定子にはどの書類タイプも関連付けられません。

もしあなたがそうすることを選ぶのであれば、あなたの書類タイプを関連付けする際に、これらのすべてのキーを使用する事もできます。

CFBundleExecutable

このキーはバンドルの主な実行可能ファイルの名前を識別します。

アプリケーションの場合、これはアプリケーション実行可能ファイルとなります。

読み込み可能バンドル【loadable bundle】の場合、これはバンドルによって動的に読み込まれるバイナリとなります。

フレームワークの場合、これはフレームワークのための共有ライブラリとなります。

Xcode は、このキーを自動的に、適切なプロジェクトのインフォメーションプロパティリスト ファイルへ追加します。

フレームワークの場合、このキーの値はフレームワーク名から .framework 拡張子を除いたものと同一にする必要があります。もしキーが同じでないと、目標のシステムは起動性能に関する理由のために、起動性能のペナルティを引き起こすことがあります。

値には、名前にいかなる拡張子も含めるべきではありません。

重要:あなたは、あなたのバンドルのインフォメーションプロパティリスト ファイルに有効な CFBundleExecutable キーを含めなくてはいけません。Mac OS X は、ユーザがアプリケーションやバンドルのディレクトリの名前を変更した場合に、バンドルの実行可能ファイルや共有ライブラリを特定するためにこのキーを使用します。

CFBundleGetInfoString

このキーは、バンドルの簡潔な説明を識別します。アプリケーションバンドルの場合、このキーはアプリケーションの短い説明、もしくは現在のリリースビルド、もしくは、番号では伝えることのできないリリースバージョン―たとえば、リリースの日付―を提供します。このキーは各国語化することができます。

CFBundleHelpBookFolder

このキーは、バンドルのヘルプファイルを格納するフォルダを識別します。ヘルプは普通、特定の言語へ各国語化されるため、このキーで指定されるフォルダは、選択された言語の .lproj ディレクトリの内側のフォルダ名を表します。

CFBundleHelpBookName

このキーは、あなたのアプリケーションのためのメインヘルプページを識別します。このキーは HTML ファイルの名前とは一致しないかもしれない、ヘルプページの名前を識別します。

ヘルプページ名は、ヘルプファイルの META タグの CONTENT 属性において指定されます。

CFBundleIconFile

このキーは、バンドルのためのアイコンを格納するファイルを識別します。あなたが指定するファイル名は、.icns 拡張子があったとしても、含む必要はありません。

Finder は、バンドルの Resources ディレクトリの中でアイコンファイルを見つけます。

もしあなたのバンドルがカスタムアイコンを使用するのであれば、このプロパティを指定する必要があります。もしあなたがこのプロパティを指定しないと、Finder(およびその他のアプリケーション)はあなたのバンドルをデフォルトアイコンで表示します。

CFBundleIdentifier

このキーはバンドルのタイプを識別します。この識別子は、たとえば com.mycompany.MyApp のように、uniform type identifier (UTI)文字列とするべきです。

このキーは、同一、もしくは異なるバージョンのアプリケーションの複数のコピーが存在できることから、ファイルシステムにおいて特定のバンドルをユニークには識別しません。UTI の詳細については、Uniform Type Identifiers Overviewを参照してください。

環境設定システムは、与えられた環境設定を適用するためのアプリケーションを識別するためにこの文字列を使用します。

Launch Services は特定のファイルを開く能力のあるアプリケーションを特定するためにバンドル識別子を使用し、与えられた識別子で見つけた最初のアプリケーションを使用します。

CFBundleInfoDictionaryVersion

このキーは、プロパティリスト構造の現在のバージョンを識別します。このキーは将来のインフォメーションプロパティリスト ファイル形式のバージョン付けに対応するために存在しています。Xcode はあなたがバンドルをビルドするときに、このキーを自動的に生成します。

CFBundleLocalizations

このキーは、あなたのアプリケーションによって手動で扱われる各国語化を識別します。もし、あなたの実行可能ファイルがバンドル形式ではない、または既存のバンドル各国語化機構を使用しないのであれば、あなたのアプリケーションが処理する各国語化を指定するためにこのキーを含めることができます。

このプロパティの配列内の各エントリは、対応されている各国語化の言語名、もしくは ISO 言語指示子 【ISO language designator】を識別する文字列です。

どのように言語指示子を指定するかについての情報は、Internationalization Documentation の、Internationalization Programming Topicsの、"Language Designations"を参照してください。

CFBundleName

このキーは、バンドルの短縮名を識別します。この名前は長さを16文字以下とし、メニューバーやアプリケーションの情報ウインドウにおける表示のために適切なものとする必要があります。

あなたは、このキーに対する各国語化された値を提供するために、適切な .lproj サブディレクトリの InfoPlist.strings ファイル内にこのキーを含めることができます。

もしこのキーを各国語化するのであれば、「CFBundleDisplayName」(21ページ)キー【バンドルの短縮していない名前】も含めるべきでしょう。

CFBundlePackageType

このキーは、バンドルのタイプを識別し、Mac OS 9 のファイルタイプコードに類似しています。

このキーの値は四文字のコードから構成されています。アプリケーションに対するタイプコードは APPL、フレームワークは FMWK、読み込み可能バンドルは BNDL となります。読み込み可能バンドルについては、あなたが望むのであれば、 BNDL よりももっと具体的なタイプコードを選択することもできます。

CFBundleShortVersionString

このキーは、アプリケーションのリリースされた回数を識別する、バンドルのリリースバージョン番号【release version number】を指定します。

リリースバージョン番号は、三つのピリオドで区切られた整数から成る文字列です。

最初の整数は、新しい機能の実装や大きな変更を行ったリビジョン【改版】といった、アプリケーションへの大きなリビジョン数を表しています。

二番目の整数は、あまり目立たない機能を実装したリビジョンを示します。

三番目の整数は保守リリースを表します。

このキーの値は、アプリケーションの(リリースされた、またはリリースされていない)回数を識別する、「CFBundleVersion」(26ページ)のための値とは異なります。

CFBundleSignature

このキーは、バンドルのクリエータを識別し、Mac OS 9 のファイルクリエータコードと類似しています。このキーの値は、バンドルを指定する四文字のコードを含む文字列です。たとえば、テキストエディット アプリケーションのためのシグネチャは、ttxt です。

CFBundleURLTypes

このキーは、アプリケーションによって対応されている URL スキーム(http、ftp、その他)を記述した、辞書の配列を格納します。

このキーの目的は、「CFBundleDocumentTypes」(21ページ)のもの【アプリケーションが開くことのできる書類タイプの指定】と同様ですが、こちらは書類タイプの代わりに URL スキームを記述します。

辞書の各エントリは、単一の URL スキームで構成されています。

表 4は辞書の各エントリにおいて使用するためのキーを一覧にしています。

表 4 CFBundleURLTypes の辞書のためのキー

キー 説明
CFBundleTypeRole String

このキーは、URL タイプを尊重した、アプリケーションの役割を指定します。値は Editor、Shell、None のいずれかとすることができます。

これらの値の説明は、「書類の設定」(41ページ)を参照してください。このキーは必須です。

CFBundleURLIconFile String このキーは、この URL タイプに対して用いるための、アイコン画像ファイルの(拡張子を除く)名前を格納します。
CFBundleURLName String

このキーは、この URL タイプのための抽象化された名前を格納します。このキーは特定のタイプを参照するための主な手段となります。

ユニーク性を保障するために、あなたは Javaパッケージ形式の識別子を使用することが推奨されます。

また、この名前はタイプ名の「人が読める版」を提供するために、InfoPlist.strings ファイル内のキーとしても使用されます。

CFBundleURLSchemes Array

このキーは文字列の配列を格納しており、そのそれぞれは、このタイプによって取り扱われる URL スキームを識別します。

URLスキームの例としては、http、ftp、その他が含まれます。

CFBundleVersion

このキーは、バンドルの(リリースされた、またはリリースされていない)回数を識別する、バンドルのビルドバージョン番号【build version number】を指定します。【注:「CFBundleShortVersionString」の方は、「リリース」バージョン番号。】

これは、一つかそれ以上のピリオドで区切られた整数から構成される、単調増加文字列です。このキーは各国語化できません。

CFPlugInDynamicRegistration

このキーは、YES または NO の値を持つ文字列を格納します。

値が YES であれば、ホストはこのプラグインを、その動的登録関数【dynamic registration function】を用いて読み込もうと試みます。

値が NO であれば、ホストは「CFPlugInFactories」(26ページ)キーと、「CFPlugInTypes」(26ページ)キーに含まれている、静的登録情報【static registration information】を使用します。

プラグインの登録についての情報は、Plug-insの"Plug-in Registration"を参照してください。

CFPlugInDynamicRegisterFunction

このキーは、プラグインの動的登録を行う際に使用するための、関数の名前を格納します。もし、デフォルトの CFPlugInDynamicRegister 関数を実装する代わりに、あなたの独自の関数を指定したければ、このキーを指定してください。

プラグインの登録についての情報は、Plug-insの"Plug-in Registration"を参照してください。

CFPlugInFactories

このキーは、静的プラグイン登録のために用いられます。このキーは、プラグインによって対応されているインタフェースを識別する辞書を格納します。

辞書内の各キーは、対応されているインタフェースを表す universally unique ID (UUID)【汎用一意識別子、128ビット値の識別子】です。

キーに対する値は、呼ぼうとするプラグインファクトリ関数の名前を持つ文字列となります。

プラグインの登録についての情報は、Plug-insの"Plug-in Registration"を参照してください。

CFPlugInTypes

このキーは静的プラグイン登録のために用いられます。これはプラグインによって対応される、一つかそれ以上のインタフェースのグループを識別する辞書を格納します。

辞書内の各キーはインタフェースのグループを表す universally unique ID (UUID)です。

キーに対する値は、文字列の配列であり、そのそれぞれはグループ内の特定のインタフェースに対する UUID を格納します。

配列内の UUID は「CFPlugInFactories」(26ページ)の辞書内のエントリに一致します。

プラグインの登録についての情報は、Plug-insの"Plug-in Registration"を参照してください。

CFPlugInUnloadFunction

このキーは、プラグインのコードがメモリから取り除かれるときが来たときに呼ぶための、関数の名前を格納します。この関数は、プラグインが確保した、あらゆるデータ構造体を消去するための機会を与えます。

プラグインの登録についての情報は、Plug-insの"Plug-in Registration"を参照してください。

CSResourcesFileMapped

このキーは、あなたのリソースファイルを、普通にメモリに読み込むのではなく、メモリへと割り当てたいかどうかをシステムに伝えます。

ファイルの割り当ては、あなたが少数のリソースへ頻繁にアクセスするような状況において、性能を向上させることができます。けれども、メモリへ割り当てられたリソースは読み取り専用であり、変更できません。

LSBackgroundOnly

もしこのキーが存在し、"1"が設定されていたら、Launch Services はアプリケーションをバックグラウンド【背面】でのみ実行します。

あなたはこのキーを、顔のないバックグラウンドアプリケーション【faceless background applications】を作成するために使用することができます。

また、あなたのアプリケーションが window server と接続する高レベルフレームワークを使用するものの、ユーザから見えることを意図していないような場合にも、このキーを使用すべきです。

バックグラウンドアプリケーションは Mach-O 実行可能形式としてコンパイルされる必要があります。このオプションは CFM アプリケーションに対しては利用できません。

あなたは、このキーの型を Boolean または Number としても指定することができます。ただし、これらの型の値は Mac OS X 10.2 以降でのみ対応されています。

LSEnvironment

このキーは、アプリケーションの起動に先立ってあなたが定義したい、環境変数のリストを格納します。

環境変数の名前が辞書のキーであり、その値は対応する環境変数の値となります。キーと値は共に文字列とする必要があります。

これらの環境変数は、Launch Services を通じて起動されるアプリケーションに対してのみ設定されます。もしあなたが、コマンドラインから直接あなたの実行可能ファイルを実行した場合、これらの環境変数は設定されません。

LSGetAppDiedEvents

このキーは、あなたのアプリケーションが、その子プロセスの一つが終了したときに通知を受けたいかどうかをシステムへ知らせます。

もしこのキーの値を"YES"に設定したら、システムはあなたのアプリケーションに、各子プロセスが終了するたびに kAEApplicationDied という Apple イベントを送ります。

LSHasLocalizedDisplayName

もしこのキーが存在して、"1"が設定されていたら、Finder はあなたのアプリケーションの名前を各国語化された文字列として表示します。【別の資料では"yes"を指定しろというものもあった】

このキーは、あなたの言語固有の InfoPlist.strings ファイル内に、「CFBundleDisplayName」(21ページ)キーの各国語化バージョンを含んでいるときのみ、含めるようにしてください。

このキーを含めることにより、各国語化されたファイル名を表示する際の性能を、かなり向上させます。もしあなたのバンドルが各国語化された表示名に対応するのであれば、あなたはこのキーをあなたのインフォメーションプロパティリスト ファイルに含めるべきでしょう。

LSMinimumSystemVersion

このキーは、このアプリケーションが実行するために必要とする、Mac OS X の最小バージョンを示す文字列を格納します。この文字列は通常、n を数字とすると、n.n.n の形式をとります。

最初の番号は、システムのメジャーバージョン番号です。二番目、三番目の番号は、マイナーリビジョン番号です。たとえば、Mac OS X v10.1以降に対応するためには、あなたはこのキーの値を"10.1.5"に設定することになるでしょう。

LSMultipleInstancesProhibited

このキーは、アプリケーションが複数のユーザセッションにおいて同時に実行することを禁じられているかどうかを示す、真偽値を格納します。もし真であれば、アプリケーションは一度に一つのユーザセッションでのみ実行します。

あなたは、複数のユーザセッションをまたいでアプリケーションに共有されるために発生するかもしれない、リソースの競合を防止するために、このキーを使用することができます。たとえば、独自の USB 装置が異なるユーザによって既に使用されているときには、その装置へのユーザのアクセスを防ぎたいということがあるかもしれません。

Launch Services は、対象のアプリケーションが起動できなかったときには、適切なエラーコードを返します。

もし別のセッションのユーザがそのアプリケーションを実行中であれば、Launch Services は kLSMultipleSessionsNotSupportedErr エラーを返します。

もし、あなたが現在のセッションでアプリケーションの独立したインスタンスを起動しようと試みた場合には、kLSMultipleInstancesProhibitedErr が返ります。

LSPrefersCarbon

もし、このキーに"1"が設定されていれば、Finder はアプリケーションの「情報を見る」パネルに「Classic環境で開く」コントロールを表示し、デフォルトではコントロールをチェックされていない状態にしておきます。

ユーザは、もしそうしたければ、アプリケーションを Classic 環境で起動するために、このコントロールを変更することができます。

あなたはこのキーの型を Boolean 【真偽値型】として指定することもできます。けれども、この型の値は、Mac OS X 10.2 以降でのみ対応されています。

このキーは、「LSPrefersClassic」(28ページ)、「LSRequiresCarbon」(28ページ)、「LSRequiresClassic」(29ページ)キーと、相互排他の関係にあります。

LSPrefersClassic

もし、このキーに"1"が設定されていれば、Finder はアプリケーションの「情報を見る」パネルに「Classic環境で開く」コントロールを表示し、デフォルトでコントロールにチェックマークを付けます。

ユーザは、もしそうしたければ、アプリケーションを Carbon 環境で起動するために、このコントロールを変更することができます。

あなたはこのキーの型を Boolean として指定することもできます。けれども、この型の値は、Mac OS X 10.2 以降でのみ対応されています。

このキーは、「LSPrefersCarbon」(28ページ)、「LSRequiresCarbon」(28ページ)、「LSRequiresClassic」(29ページ)キーと、相互排他の関係にあります。

LSRequiresCarbon

もし、このキーに"1"が設定されていれば、Launch Services はこのアプリケーションを Carbon 環境においてのみ実行します。もしあなたのアプリケーションが、Classic 環境において実行するべきでなければ、このキーを使用してください。

あなたはこのキーの型を Boolean として指定することもできます。けれども、この型の値は、Mac OS X 10.2 以降でのみ対応されています。

このキーは、「LSPrefersCarbon」(28ページ)、「LSPrefersClassic」(28ページ)、「LSRequiresClassic」(29ページ)キーと、相互排他の関係にあります。

LSRequiresClassic

もし、このキーに"1"が設定されていれば、Launch Services はこのアプリケーションを Classic 環境においてのみ実行します。もしあなたのアプリケーションが、Carbon 互換性環境において実行するべきでなければ、このキーを使用してください。

あなたはこのキーの型を Boolean として指定することもできます。けれども、この型の値は、Mac OS X 10.2 以降でのみ対応されています。

このキーは、「LSPrefersCarbon」(28ページ)、「LSPrefersClassic」(28ページ)、「LSRequiresCarbon」(28ページ)キーと、相互排他の関係にあります。

LSUIElement

もし、このキーに"1"が設定されていれば、Launch Services はこのアプリケーションを代理【agent】アプリケーションとして実行します。

代理アプリケーションは、Dock や 強制終了ウインドウには現れません。これらは一般的にバックグラウンドアプリケーションとして実行しますが、必要があればユーザインタフェースを提示するためにフォアグラウンドに来ることもできます。代理アプリケーションに属するウインドウ上でのクリックによって、イベント処理を行うためにそのアプリケーションを前面に移動させます。

Dock および ログインウインドウは、どちらも代理アプリケーションとして実行するアプリケーションです。

LSUIPresentationMode

このキーは、アプリケーションの初期ユーザインタフェースモードを識別します。あなたは、Dock や メニューバーといった UI 要素を含む画面の部分に重なる必要があるようなアプリケーションにおいて、このキーを使用することになるでしょう。

ほとんどのモードは、画面の内容領域、すなわち、メニューバーを含まない画面の領域に現れる UI 要素についてのみ作用します。けれども、あなたは、それに加えてすべての UI 要素を隠すように要求することができます。

このキーは Carbon および Cocoa アプリケーションの両方に適用することができ、以下の値のうちのいずれかをとることができます…

説明
0 通常モード【Normal mode】です。このモードでは、すべての標準システム UI 要素が見えています。これがデフォルト値です。
1 内容抑制モード【Content suppressed mode】です。このモードでは、画面の内容領域にあるシステム UI 要素は非表示となります。UI 要素は、マウスの移動やその他のユーザの活動に対する応答のために、自分自身を自動的に表示させることができます。たとえば、【「使わないときは隠す」設定をした】Dock は、マウスが Dock の自動表示領域の中へ移動したときに自分自身を表示させることができます。
2 内容非表示モード【Content hidden mode】です。このモードでは、画面の内容領域にあるシステム UI 要素は非表示となり、マウス移動やユーザの活動への反応においても自分自身を自動的に表示させることはありません。
3 すべて非表示モード【All hidden mode】です。このモードでは、メニューバーも含めて、すべての UI 要素は非表示にされます。要素は、マウス移動やユーザの活動への応答においても、自分自身を自動的に表示させることはありません。
4 すべて抑制モード【All suppressed mode】です。このモードでは、メニューバーも含めて、すべての UI 要素は非表示にされます。UI 要素は、マウス移動やその他のユーザの活動への応答において、自分自身を自動的に表示させることができます。このオプションは Mac OS X 10.3 以降でのみ使用できます。

LSVisibleInClassic

もし、このキーに"1"が設定されていれば、このキーを持つ代理アプリケーションやバックグラウンド専用アプリケーションはいずれも、Classic 環境に対してはバックグラウンド専用プロセスとして見えます。

このキーを持たない代理アプリケーションやバックグラウンド専用アプリケーションは、Classic に対して、実行中のプロセスとしては全く見えません。

あなたのプロセスが Classic アプリケーションと排他通信を行う必要がある場合を除いて、あなたはこのキーを含める必要はありません。

NSAppleScriptEnabled

このキーは、アプリケーションがスクリプト可能かどうかを識別します。もし、あなたのアプリケーションが AppleScript に対応するのであれば、このキーの値には(型が Boolean のとき)true もしくは(型が String のとき)"YES"を設定してください。

NSHumanReadableCopyright

このキーは、バンドルのための著作権通知の文字列を格納します。たとえば、© 2006. My Company. といったように。

あなたはこの文字列を読み込み、アバウトダイアログボックスの中に表示することができます。このキーは、あなたの InfoPlist.strings ファイルに含めることで、各国語化することができます。

このキーは廃止【obsolete】された CFBundleGetInfoString キーを置き換えるものです。【こことか、ここにあるのだが…改版履歴によると一度廃止されて再導入されたらしい。】

NSJavaNeeded

このキーは、Java VM【仮想マシン】がバンドルコードの実行よりも前に読み込まれ、開始している必要があるかどうかを指定します。

このキーは、Cocoa Java アプリケーションが、システムへ Java 環境を起動するよう伝えるためにだけ必要とされます。もしあなたが pure Java アプリケーションを書いているのであれば、このキーを含めないでください。

あなたがそうしたければ、真偽値の代わりに、"YES"の値を持つ文字列型を指定しても構いません。

NSJavaPath

このキーは、パスの配列を格納します。各パスは Java クラスを指し示します。このパスは絶対パスか、「NSJavaRoot」(30ページ)キーで指定された場所からの相対パスのどちらかにすることができます。

開発環境は(もしくは、具体的には、その jamfile は)、自動的に配列内の値を管理します。

NSJavaRoot

このキーは、ディレクトリを識別する文字列を格納します。このディレクトリは、アプリケーションの Java クラスファイルのルートディレクトリを表します。

NSMainNibFile

このキーは、アプリケーションのメイン nib ファイルの(拡張子 .nib を除いた)名前を持つ文字列を格納します。

nib ファイルとは、ユーザインタフェースの記述を、そのインタフェースのオブジェクト同士の接続状態と共に格納している、Interface Builder アーカイブのことです。メイン nib ファイルはアプリケーションの起動時に自動的に読み込まれます。Mac OS X は、アプリケーション名と一致する名前のファイルを探します。【このキーが指定されていなかった場合の話だろうか?】

NSPersistentStoreTypeKey

このキーは、書類のタイプに関連付けられた、Core Data 永続ストアのタイプを指定する文字列を格納します(「CFBundleDocumentTypes」(21ページ)を参照)。とりうる値については、NSPersistentStoreCoordinator_Store_Types を参照してください。

NSPrefPaneIconFile

このキーは、環境設定ペインのアイコンを含んでいる画像ファイルの(拡張子を含む)名前を持つ文字列を格納します。このキーは環境設定ペインバンドルによってのみ使用されるべきです。

画像ファイルは、32 x 32 ピクセルの大きさのアイコンを格納している必要があります。もしこのキーが省略されていたら、システム環境設定 アプリケーションは、代わりに CFBundleIconFile キー【これ】を用いて画像ファイルを探します。

NSPrefPaneIconLabel

このキーは、環境設定ペインの名前を持つ文字列を格納します。この文字列はシステム環境設定 アプリケーション内の環境設定ペインのアイコンの下に表示されます。

あなたは文字列の中に改行文字('\n'【バックスラッシュn】)を含めることにより、長い名前を二つの行に分けることができます。

もしこのキーが省略されると、システム環境設定 アプリケーションは CFBundleName キー【ここ】から名前を取得します。

このキーは各国語化することができ、バンドルの InfoPlist.strings ファイルに含めることができます。

NSPrincipalClass

このキーは、バンドルの主要クラス【principal class】の名前を持つ文字列を格納します。このキーは、プラグインや、その他の動的に読み込まれるバンドルといった、動的に読み込まれるコードのためのエントリポイントを識別するために用いられます。

バンドルの主要クラスは、一般的にバンドル内の他のすべてのクラスをコントロールし、これらのクラスとバンドルの外側のクラスとの間で仲介役を果たします。

この値によって識別されるクラスは、NSBundle の principalClass メソッドを用いて取得されることができます。Cocoa アプリケーションについては、このキーの値はデフォルトでは NSApplication です。

NSServices

このキーは、アプリケーションによって提供されるサービスを指定している、辞書の配列を格納します。

表 5は、サービスを指定するためのキーを一覧にしています。

表 5 NSServices の辞書のためのキー

キー 概要
NSPortName String このキーは、サービス要求受信のためにあなたのアプリケーションが監視するポートの名前を指定します。
NSMessage String このキーは、サービスを呼び出すためのインスタンスメソッドの名前を指定します。Objective-C において、インスタンスメソッドは messageName: userData: error: という形式にする必要があります。Java においては、インスタンスメソッドは messageName(NSPasteBoard, String) という形式にする必要があります。
NSSendTypes Array このキーは、サービスによって読まれることのできるデータタイプ名の配列を指定します。NSPasteboard クラスの記述には、いくつかの共通データタイプが列挙されています。あなたはこのキーを含めるか、NSReturnTypes キーを含めるか、もしくは両方含める必要があります。
NSReturnTypes Array このキーは、サービスによって返されることのできるデータタイプ名の配列を指定します。NSPasteboard クラスの記述には、いくつかの共通データタイプが列挙されています。あなたはこのキーを含めるか、NSSendTypes キーを含めるか、もしくは両方含める必要があります。
NSMenuItem Dictionary このキーは、サービスメニューに加える文字列を指定する辞書を格納します。この辞書の唯一のキーは default と呼ばれており、その値はメニュー項目文字列です。この値はユニークでなければいけません。あなたはサブメニューを指定するためにスラッシュ文字"/"を使用することができます。たとえば、Mail/Send はサービスメニュー内に、Send という項目を伴う Mail というメニューとして現れるでしょう。
NSKeyEquivalent Dictionary このキーは任意であり、サービスメニュ-コマンドを呼び出すために用いる、キーボード同義操作【keyboard equivalent】の辞書を格納しています。NSMenuItem と同様、辞書内の唯一のキーは default と呼ばれており、その値は単一の文字です。ユーザはCommand および Shift 修飾キーと一緒にこのキーを押すことにより、このキーボード同義操作を呼び出します。
NSUserData String このキーは任意であり、あなたの選ぶ値を格納する文字列です。
NSTimeout String このキーは任意であり、応答が必要なときに、サービスがアプリケーションからの応答を待つべき時間をミリ秒単位で表す、数字の文字列です。