情報プロパティリストキー(7)~Cocoaキー(1)

2012. 03. 23
Cocoaキー

CocoaとCocoa Touchは、Mac OS XとiOSのそれぞれで実行されるObjective-Cベースのアプリケーションの定義に使用される環境です。

Cocoa環境に関連付けられたキーは、Interface Builderのnibファイルと、バンドルによって提供される他のユーザ向け機能のサポートを提供します。

Cocoaキーは、他のキーと識別するために接頭辞NSを使用しています。

iOS向けCocoa Touchアプリケーションの開発についての詳細については『iOSアプリケーションプログラミングガイド』を参照してください。

Mac OS X向けCocoaアプリケーションの開発についての詳細については『Cocoa Fundamentals Guide』を参照してください。



キーの概要

表1にCocoaキーと、Xcodeのプロパティリストエディタでの対応するキー名、各キーの高レベルの説明、そして使用できるプラットフォームを、キーのアルファベット順で一覧に示します。

各キーの詳細については以降の項で説明します。

表1 Cocoaキーの概要

キーXcode名概要対応OS
NSAppleScriptEnabled"Scriptable”AppleScriptが有効かどうかを指定します。
詳細は『NSAppleScriptEnabled』参照。
Mac OS X
NSDockTilePlugIn"Dock Tile
Plugin path”
存在する場合、アプリケーションのDock
タイルプラグイン名を指定します。
詳細は『NSDockTilePlugIn』参照。
Mac OS X
NSHumanReadable
Copyright
"Copyright
(human-
readable)”
(ローカライズ可能)
バンドルの著作権表示を指定します。
詳細は『NSHumanReadableCopyright
参照。
Mac OS X
NSJavaNeeded"Cocoa Java
application”
プログラムがJava VMの実行を必要とする
かどうかを指定します。
詳細は『NSJavaNeeded』参照。
Mac OS X
NSJavaPath"Java classpaths”NSJavaRootで始まる要素のクラスへの
パスの配列です。
詳細は『NSJavaPath』参照。
Mac OS X
NSJavaRoot"Java root
directory”
Javaクラスを格納するルート
ディレクトリ。
詳細は『NSJavaRoot』参照。
Mac OS X
NSMainNibFile"Main nib file
base name”
アプリケーションのメインnibファイル名。
詳細は『NSMainNibFile』参照。
iOS,
Mac OS X
NSPersistentStore
TypeKey
"Core Data
persistent store
type”
永続ドキュメント型に関連付けられた
Core Dataの永続ストアの型。
詳細は『NSPersistentStoreTypeKey
参照。
Mac OS X
NSPrefPaneIconFile"Preference
Pane icon file”
システム環境設定アプリケーションでの
設定ペインの表示に使用される画像
ファイルリソース名。
詳細は『NSPrefPaneIconFile』参照。
Mac OS X
NSPrefPaneIconLabel"Preference
Pane icon label”
システム環境設定アプリケーションでの
設定ペインアイコンの下方に表示される、
設定ペイン名。
詳細は『NSPrefPaneIconLabel』参照。
Mac OS X
NSPrincipalClass"Principal class”バンドルのメインクラス名。
詳細は『NSPrincipalClass』参照。
Mac OS X
NSServices"Services”アプリケーションによって提供される
サービスを指定する辞書の配列。
詳細は『NSServices』参照。
Mac OS X
NSSupportsAutomatic
Termination
Noneアプリケーションがメモリを再利用する
ために解放するかどうかを指定します。
詳細は『NSSupportsAutomatic
Termination
』参照。
Mac OS X
10.7以降
NSSupportsSudden
Termination
Noneアプリケーションが高速にシャットダウン
またはログアウト操作を行うかどうかを
指定します。
詳細は『NSSupportsSudden
Termination
』参照。
Mac OS X
NSUbiquitousDisplay
Set
Noneアプリケーションが表示できるモバイル
ドキュメントデータを指定します。
詳細は『NSUbiquitousDisplaySet』参照。
iOS,
Mac OS X
UTExportedType
Declarations
“Exported Type
UTIs”
アプリケーションでサポート(と所有)
されているUTIベースタイプを指定する
辞書の配列。
詳細は『UTExportedTypeDeclarations
参照。
iOS 5.0
以降,
Mac OS X
10.7以降
UTImportedType
Declarations
"Imported Type
UTIs”
アプリケーションでサポートされている
(が所有していない)UTIベースタイプを
指定する辞書の配列。
詳細は『UTImportedTypeDeclarations
参照。
iOS,
Mac OS X



NSAppleScriptEnabled

NSAppleScriptEnabled(ブール値または文字列/Mac OS X)。

このキーは、アプリケーションがスクリプト可能であるかどうかを識別します。

アプリケーションがAppleScriptをサポートする場合は、このキーの値を(ブール型の時は)trueまたは(文字列型の時は)YESに設定します。



NSDockTilePlugIn

NSDockTilePlugIn(文字列/Mac OS X)。

このキーは、アプリケーションのContents/PlugIns辞書内にある、.docktilepluginファイル名拡張子を持つプラグインバンドル名を格納します。

バンドルは、アプリケーションのDockタイルプラグインを含める必要があります。

Dockタイルプラグインの生成についての詳細は『Dock Tile Programming Guide』を参照してください。



NSHumanReadableCopyright

NSHumanReadableCopyright(文字列/Mac OS X)。

このキーは『c 2008, My Company』など、バンドルの著作権表示の文字列を格納します。

この文字列を読み込み、Aboutダイアログボックスに表示することができます。

このキーは、InfoPlist.stringsファイルに含めることによってローカライズすることができます。

このキーは、廃止されたCFBundleGetInfoStringキーを置換します。



NSJavaNeeded

NSJavaNeeded(ブール値または文字列/Mac OS X)。

このキーは、Java VMを読み込み、バンドルコードの実行前に開始する必要があるかどうかを指定します。

このキーは、Java環境の起動をシステムに伝えるCocoa Javaアプリケーションでのみ必要になります。

純粋なJavaアプリケーションを作成する場合は、このキーは含まれません。

また必要であれば、ブール値の代わりに文字列型の値『YES』を指定することもできます。

Mac OS X v10.5では非推奨です。



NSJavaPath

NSJavaPath(配列/Mac OS X)。

このキーはパスの配列を格納します。

各パスはJavaクラスを差しています。

パスは絶対パス、または『NSJavaRoot』キーによって指定された場所からの相対パスのどちらでも構いません。

開発環境(または具体的なjamfiles)は自動的に配列の値を保持します。

Mac OS X v10.5では非推奨です。



NSJavaRoot

NSJavaRoot(文字列/Mac OS X)。

このキーはディレクトリを識別する文字列を格納します。

このディレクトリは、アプリケーションのJavaクラスファイルのルートディレクトリを表します。



NSMainNibFile

NSMainNibFile(文字列/iOS、Mac OS X)。

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

nibファイルは、インターフェイスのオブジェクト間の接続と共に、ユーザインターフェイスの記述を含む、Interface Builderのアーカイブです。

メインnibファイルは、アプリケーションの起動時に自動的に読み込まれます。

このキーは『UIMainStoryboardFile』キーと相互に排他的です。

Info.plistファイルには両方ではなく、どちらかを含める必要があります。



NSPersistentStoreTypeKey

NSPersistentSroreTypeKey(文字列/Mac OS X)。

このキーは、ドキュメントタイプ(『CFBundleDocumentTypes』参照)に関連付けられているCore Data永続ストアの型を指定する、文字列を格納します。



NSPrefPaneIconFile

NSPrefPaneIconFile(文字列/Mac OS X)。

このキーは、設定ペインのアイコンを含む(拡張子を含む)画像ファイル名の文字列を格納します。

このキーは、設定ペインバンドルによってのみ使用される必要があります。

画像ファイルは、32 x 32ピクセルサイズアイコンを含む必要があります。

このキーが省略されている場合、システム環境設定アプリケーションはCFBundleIconFileキーを代わりに使用して検索します。



NSPrefPaneIconLabel

NSPrefPaneIconLabel(文字列/Mac OS X)。

このキーは、設定ペイン名の文字列を格納します。

この文字列はシステム環境設定アプリケーション内の設定ペインのアイコンの下に表示されます。

長い名前は、文字列に改行文字『\n』を入れることによって、2行に分割することができます。

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

このキーは、バンドルのInfoPlist.stringsファイルに含めてローカライズすることができます。



NSPrincipalClass

NSPrincipalClass(文字列/Mac OS X)。

このキーは、バンドルの主要クラス名の文字列を格納します。

このキーは、プラグインや他の動的に読み込まれるバンドル等の、動的読み込みコードのエントリポイントの識別に使用されます。

バンドルの主要クラスは、通常バンドル内の全ての他のクラスと、これらのクラスとバンドル外にあるクラス間の仲介を制御します。

この値によって識別されるクラスは、NSBundleprincipalClassメソッドを使用して取得することができます。

Cocoaアプリケーションでは、このキーの値はデフォルトでNSApplicationです。



NSServices

NSServices(配列/Mac OS X)。

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

表2にサービスを指定するキーを示します。

表2 NSServices辞書のキー

キーXcode名説明プラット
フォーム
NSPortName"Incoming
service port
name”
文字列このキーは、アプリケーションが着信
サービス要求の監視をするポート名を指定
します。
その値は、サービスプロバイダアプリ
ケーションが登録されている方法に依存
します。
ほとんどの場合、これはアプリケーション
名です。
詳細は『Services Implementation
Guide
』を参照してください。
Mac OS X
NSMessage"Instance
method
name”
文字列このキーは、サービス用に呼び出すインス
タンスメソッド名を指定します。
Objective-Cでは、インスタンスメソッド
messageName:userData:error:形式
にする必要があります。
Javaでは、インスタンスメソッドは
messageName形式(NSPasteBoard、
文字列)にする必要があります。
Mac OS X
NSSendFileTypesNone配列このキーは文字列の配列を指定します。
各文字列はサポートされているファイル
タイプを定義するUTIを含む必要があり
ます。
UTIタイプのみ許可されており、ペースト
ボードタイプは許可されていません。
ペーストボードタイプを指定するには、
NSSendTypeキーを使用し続けます。
このキーに値を割り当てることによって、
サービスは指定されたファイルタイプの
1つ以上に適合するタイプのファイル上
で操作することを宣言します。
サービスは、読み込むことができる
ファイルのURLからペーストボードに
受信されます。
Mac OS X v10.6以降で利用できます。
UTIについての詳細は『Uniform Type
Identifiers Overview
』を参照してくだ
さい。
Mac OS X
NSSendTypes"Send Types”配列このキーは、サービスで読み込むことが
できる任意のデータ型名の配列を指定
します。
NSPasteboardクラスに、いくつかの
一般的なデータ型が説明されています。
このキーとNSReturnTypesキーのどちら
か、または両方を含める必要があります。
Mac OS X v10.5以降では、このキーは
必須です。
Mac OS X v10.6以降では、代わりに
NSSendFileTypesキーを使用する必要が
あります。
Mac OS X
NSService
Description
None文字列このキーは、ユーザへの提示に適した
サービスの説明を指定します。
この説明文字列は、ユーザにサービスに
ついての適切な情報を与えるため、長く
なる可能性があります。
メニューアイテムテキストをローカライズ
するには、バンドル内の各ローカライズ用
にServicesMenu.stringsファイルを生成
します。
この文字列ファイルには、このキーと共に
その値として変換を説明する文字列を
含める必要があります。
文字列ファイルの生成についての詳細は
Resource Programming Guide』を
参照してください。
Mac OS X v10.6以降で利用できます。
Mac OS X
NSRequiredContextNone辞書
または
配列
このキーは、ユーザが利用できる
サービスの条件を持つ辞書を指定します。
また辞書の配列には、各サービスを有効に
する条件の設定を含めることができます。
このキーの値の指定についての詳細は、
この表の後の説明を参照してください。
Mac OS X v10.5以降で利用できます。
Mac OS X
NSRestrictedNoneブール
このキーの値にtrueを指定すると、サンド
ボックス化されたアプリケーションによる
呼び出しからサービスを防ぎます。
サンドボックス化されたアプリケーション
の抑制を回避できるように、特権または
潜在的に危険な操作を実行する場合は、値
をtrueに設定する必要があります。
例えば、サービスが任意のファイルまたは
スクリプトとしてテキスト文字列を実行
する場合は、パスによって指定された任意
のファイルを読み込みまたは書き込み、
またはサービスのクライアントに代わって
ネットワークから任意のURLの内容を取得
する場合はtrueに設定する必要があり
ます。
このキーのデフォルト値はfalseです。
Mac OS X v10.7以降で利用できます。
Mac OS X
NSReturnTypes"Return
Types”
配列このキーは、サービスによって返すこと
ができるデータ型名の配列を指定します。
NSPasteboardクラスに、いくつかの
一般的なデータ型が説明されています。
このキーとNSSendTypesキーのどちらか、
または両方を含める必要があります。
Mac OS X
NSMenuItem"Menu”辞書このキーは、Servicesメニューに追加する
テキストを指定する辞書を格納します。
辞書内のキーのみがdefaultと呼ばれ、
その値はメニュー項目のテキストです。
Mac OS X v10.5以前では、メニュー項目
は一意である必要があります。
アプリケーション名とコマンド名を組み
合わせてスラッシュ文字『/』で区切る
ことによって、一意の名前を確認する
ことができます。
これは効果的にサービスのサブメニューを
生成します。
例えば、Mail/SendはServicesメニューに
Sendという項目を持つMailという
メニューとして表示されます。
サブメニューはMac OS X v10.6以降で
(または必要に応じて)サポートしま
せん。
Mac OS v10.6以降でスラッシュ文字を
指定した場合、スラッシュとそれ以前の
テキストは破棄されます。
代わりに、同じ名前を持つサービスは、
メニュー項目のテキストの後に括弧内に
アプリケーション名を追加することに
よって明確にします。
メニュー項目テキストをローカライズする
には、バンドル内の各ローカライズ用の
ServicesMenu.stringsファイルを生成
します。
この文字列ファイルには、その値として
変換メニュー項目のテキストと共に
defaultキーを含める必要があります。
文字列ファイルの生成についての詳細は、
Resource Programming Guide』を
参照してください。
Mac OS X
NSKeyEquivalent"Menu key
equivalent”
辞書このキーはオプションで、サービス
メニューコマンドを呼び出すために使用
するキーボードと同等の辞書を格納
します。
NSMenuItemと同様に、辞書内のキー
のみがdefaultと呼ばれ、その値は単一
文字です。
ユーザが文字と共にCommand修飾キー
を押すことによって、同様にキーボード
を呼び出すことができます。
文字は大文字と小文字が区別されるので、
大文字と小文字のバージョンで異なる
コマンドを割り当てることができます。
大文字を指定するには、ユーザが他の
キーに加えてShiftキーを押す必要があり
ます。
Mac OS X
NSUserData"User Data”文字列このキーは、選択した値を含むオプション
の文字列です。
Mac OS X
NSTimeout"Timeout
value (in
milliseconds)”
文字列このキーは、応答が必要な時に、サービス
を提供するアプリケーションからの応答を
待つ必要があるServicesの数値をミリ秒
単位で示す、オプションの数値の文字列
です。
Mac OS X

Mac OS X v10.6以降では、NSRequiredContextキーがServicesメニューに表示されるサービスの条件を記述した辞書、または辞書の配列を格納することができます。

単一の辞書を指定した場合、辞書内の全ての条件は表示されるサービスを満たす必要があります。

辞書の配列を指定した場合、これらの辞書の内の1つで全ての条件が、表示されるサービスを満たす必要があります。

表3に各辞書が含めることができる1つ以上のキーを示します。

辞書内の全てのキーはオプションです。

表3 NSRequiredContext辞書の内容

キーXcode名説明プラット
フォーム
NSApplication
Identifier
None文字列
または
配列
このキーの値は文字列または文字列の配列で、
それぞれアプリケーションのバンドルID
CFBundleIdentifierキー)が格納されます。
現在のアプリケーションのバンドルIDが指定
された値のいずれかに一致した場合のみ、
サービスが表示されます。
Mac OS X
NSTextScriptNone文字列
または
配列
このキーの値は文字列または文字列の配列で、
それぞれLathやCyrlなど、標準の4文字スクリプト
タグが格納されます。
選択されたテキストの支配的なスクリプトが、
指定されたスクリプト値のいずれかに一致した
場合のみ、サービスが表示されます。
Mac OS X
NSTextLanguageNone文字列
または
配列
このキーの値は文字列または文字列の配列で、
それぞれ要求されたテキストの言語を示す
BCP-47タグが格納されます。
選択されたテキストの全体的な言語が指定
された値のいずれかに一致した場合、サービス
が表示されます。
マッチングはprefix-machingスキームを使用して
実行されます。
例えば、BCP-47コードen-US、en-GB、en-AU
全てのテキストに一致させるには値enを指定
します。
Mac OS X
NSWordLimitNone数値このキーの値は、サービスが動作することが
できる、選択された単語の最大数を示す整数です。
例えば、ティッカーシンボルで株式を検索する
サービスの場合、ティッカーシンボルは空白を
含めることができないので値は1となります。
Mac OS X
NSTextContextNone文字列
または
配列
このキーの値は文字列または文字列の配列で、
それぞれURL、Data、Address、Email、または
FilePathの値のいずれかが格納されます。
選択されたテキストが対応する型のデータを
含んでいる場合のみ、サービスが表示されます。
例えば、選択されたテキストにhttpベースの
リンクが含まれていた場合、このキーの値が
URLに設定されていると、サービスが表示され
ます。
検出された特定のデータ型を含む一部だけでは
なく、選択されたテキストの全てがservice-
vendingアプリケーションに提供されることに
注意してください。
Mac OS X

アプリケーションへのサービスの実装についての詳細は『Services Implementation Guide』を参照してください。



参考文献

Information Property List Key Reference

0 CommentsPosted in 資料





Bose QuietComfort 20
0 Comments
Leave a comment
管理者にだけ表示を許可する
Top
0 Trackbacks
Top
Calendar
08 | 2017/09 | 10
Sun Mon Tue Wed Thu Fri Sat
- - - - - 1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Recent Articles
iTunes


Swift
Categories
Tips
Profile

水月杏香

Author:水月杏香
永遠の初心者プログラマ。

Wish List
WACOM


ARC
Technical Q&A
情報プロパティリストキー
Start Developing iOS Apps Today
BOSE

Bose QuietComfort 20
Reference
NSApplicationDelegateプロトコル
NSArrayクラス
NSAutoreleasePoolクラス
NSBundleクラス
NSBundle UIKit追加分
NSCalendarクラス
NSCoderクラス
NSCodingプロトコル
NSCopyingプロトコル
NSDataクラス
NSDateクラス
NSDateFormatterクラス
NSDictionaryクラス
NSEntityDescriptionクラス
NSEnumeratorクラス
NSErrorクラス
NSExceptionクラス
NSFetchRequestクラス
NSFileHandleクラス
NSFileManagerクラス
NSIndexPathクラス
NSIndexPath UIKit追加分
NSKeyedArchiverクラス
NSKeyedUnarchiverクラス
NSKeyValueCodingプロトコル
NSLocaleクラス
NSManagedObjectクラス
NSManagedObjectContextクラス
NSManagedObjectModelクラス
NSMutableArrayクラス
NSMutableCopyingプロトコル
NSMutableDictionaryクラス
NSMutableSetクラス
NSNotificationクラス
NSNotificationCenterクラス
NSNullクラス
NSNumberクラス
NSObjectクラス
NSObject UIKit追加分
NSObjectプロトコル
NSPersistentStoreクラス
NSPersistentStoreCoordinatorクラス
NSPredicateクラス
NSPropertyListSerializationクラス
NSRunLoopクラス
NSSetクラス
NSStringクラス
NSString UIKit追加分
NSTimerクラス
NSTimeZoneクラス
NSURLクラス
NSURLProtectionSpaceクラス
NSURLRequestクラス
NSUserDefaultsクラス
NSValueクラス

UIActionSheetクラス
UIActionSheetDelegateプロトコル
UIActivityIndicatorViewクラス
UIAlertViewクラス
UIAlertViewDelegateプロトコル
UIApplicationクラス
UIApplicationDelegateプロトコル
UIBarButtonItemクラス
UIBarItemクラス
UIButtonクラス
UIColorクラス
UIControlクラス
UIDatePickerクラス
UIDeviceクラス
UIEventクラス
UIFontクラス
UIGestureRecognizerクラス
UIImageクラス
UIImageViewクラス
UIKit Function
UILabelクラス
UINavigationControllerクラス
UINavigationItemクラス
UIPickerViewクラス
UIPickerViewDataSourceプロトコル
UIPickerViewDelegateプロトコル
UIPinchGestureRecognizerクラス
UIResponderクラス
UIScreenクラス
UIScrollViewクラス
UISearchBarクラス
UISearchBarDelegateプロトコル
UISegmentedControlクラス
UISliderクラス
UISwipeGestureRecognizerクラス
UISwitchクラス
UITableViewクラス
UITableViewCellクラス
UITableViewControllerクラス
UITableViewDataSourceプロトコル
UITableViewDelegateプロトコル
UITapGestureRecognizerクラス
UITextFieldクラス
UITextFieldDelegateプロトコル
UITextInputTraitsプロトコル
UITextViewクラス
UITextViewDelegateプロトコル
UIToolbarクラス
UITouchクラス
UIViewクラス
UIViewControllerクラス
UIWebViewクラス
UIWebViewDelegateプロトコル
UIWindowクラス

AVAudioPlayerクラス
AVAudioPlayerDelegateプロトコル

CADisplayLinkクラス
CAEAGLLayerクラス
CALayerクラス

CGAffineTransform
CGBitmapContext
CGColor
CGColorSpace
CGContext
CGGeometry
CGImage
CGPath

EAGLContextクラス
EAGLDrawableプロトコル

Foundation Constants
Foundation Data Types
Foundation Functions

MPMediaItemクラス
MPMediaItemArtworkクラス
MPMediaPlaylistクラス
MPMediaPropertyPredicateクラス
MPMediaQueryクラス
MPMusicPlayerControllerクラス

Randomization Services

System Sound Services
Amazon


OpenGL ES
SQLite
Monthly Archives
Recent Comments
Recent TrackBacks
RSS Link
Visitors
QR Code
QR