情報プロパティリストキー(6)~Launch Servicesキー

2012. 03. 22
Launch Servicesキー

Launch Serviceは(Mac OS XのCore Servicesフレームワークの一部で)、アプリケーションの起動と、アプリケーションへのドキュメントタイプの照合をサポートします。

その結果、Launch Servicesによって認識されたキーは、バンドルされているコードの適切な実行環境を指定することができます。
(iOSでのLaunch ServicesはプライベートAPIですが、iOSアプリケーションの実行環境を調整するために内部で使用されています)

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

Mac OS XでのLaunch Servicesについての詳細は『Launch Services Programming Guide』や『Launch Services Reference』を参照してください。



キーの概要


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

表1 Launch Servicesキーの概要

キーXcode名概要対応OS
LSApplication
CategoryType
"Application
Category”
App Storeでアプリケーションを分類する
UTIを持つ文字列を格納します。
詳細は『LSApplicationCategoryType
参照。
Mac OS X
LSArchitecturePriority"Architecture
priority”
サポートされているコードのアーキテク
チャと、その実行の優先度を識別する
文字列の配列を格納します。
詳細は『LSArchitecturePriority』参照。
Mac OS X
LSBackgroundOnly"Application is
background
only”
アプリケーションがバックグラウンドで
のみ実行されるかどうかを指定します。
(Mach-Oアプリケーションのみ)
詳細は『LSBackgroundOnly』参照。
Mac OS X
LSEnvironment"Environment
variables”
環境変数とその値を表すキーと値のペアの
リストを格納します。
詳細は『LSEnvironment』参照。
Mac OS X
LSFileQuarantine
Enabled
"File quarantine
enabled”
このアプリケーションが生成するファイル
がデフォルトで隔離されるかどうかを指定
します。
詳細は『LSFileQuarantineEnabled
参照。
Mac OS X
LSFileQuarantine
ExcludedPathPatterns
None自動的に隔離する必要が無いファイルの
ディレクトリを指定します。
詳細は『LSFileQuarantineExcluded
PathPatterns
』参照。
Mac OS X
LSGetAppDiedEvents"Application
should get App
Died events”
子プロセスが死んだ時にアプリケーション
に通知するかどうかを指定します。
詳細は『LSGetAppDiedEvents』参照。
Mac OS X
LSMinimumSystem
Version
"Minimum
system version”
アプリケーションを実行するのに必要な
Mac OS Xの最小バージョンを指定します。
詳細は『LSMinimumSystemVersion
参照。
Mac OS X
LSMinimumSystem
VersionByArchitecture
"Minimum
system versions,
per-architecture”
与えられたプラットフォームアーキテク
チャを実行するために必要なMac OS Xの
最小バージョンを指定します。
詳細は『LSMinimumSystemVersionBy
Architecture
』参照。
Mac OS X
LSMultipleInstances
Prohibited
"Application
prohibits
multiple
instances”
1ユーザまたは複数のユーザが同時にアプリ
ケーションを起動することができるか
どうかを指定します。
詳細は『LSMultipleInstances
Prohibited
』参照。
Mac OS X
LSRequiresIPhoneOS"Application
requires iPhone
environment”
アプリケーションがiOSアプリケーション
かどうかを指定します。
詳細は『LSRequiresIPhoneOS』参照。
iOS
LSRequiresNative
Execution
"Application
requires native
environment”
Rosettaエミュレーションとは対照的に、
インテルベースのMacintoshコンピュータ
上でアプリケーションをネイティブで実行
する必要があるかどうかを指定します。
詳細は『LSRequiresNativeExecution
参照。
Mac OS X
LSUIElement"Application is
agent
(UIElement)”
アプリケーションがエージェントアプリ
ケーション、つまりDockまたは強制終了
ウィンドウに表示されないアプリケー
ションかどうかを指定します。
詳細は『LSUIElement』参照。
Mac OS X
LSUIPresentationMode"Application UI
Presentation
Mode”
アプリケーションの起動時に、システムの
UI要素を可視に設定します。
詳細は『LSUIPresentationMode』参照。
Mac OS X
LSVisibleInClassic"Application is
visible in Classic”
Classic環境で、エージェントアプリケー
ションまたはバックグラウンドのみの
アプリケーションが、他のアプリケー
ションに表示されるかどうかを指定
します。
詳細は『LSVisibleInClassic』参照。
Mac OS X
MinimumOSVersion"Minimum
system version”
使用不可。
代わりに『LSMinimumSystemVersion
を使用してください。
iOS



LSApplicationCategoryType


LSApplicationCategoryType(文字列/Mac OS X)は、アプリケーションのタイプに対応するUTIを格納する文字列です。

App Storeでは、アプリケーションの適切な分類を決定するために、この文字列を使用します。

表2にアプリケーションでサポートされているUTIを示します。

表2 アプリケーションのカテゴリのUTI

カテゴリUTI
ビジネスpublic.app-category.business
開発ツールpublic.app-category.developer-tools
教育public.app-category.education
エンターテインメントpublic.app-category.entertainment
ファイナンスpublic.app-category.finance
ゲームpublic.app-category.games
グラフィックス&デザインpublic.app-category.graphics-design
健康/フィットネスpublic.app-category.healthcare-fitness
ライフスタイルpublic.app-category.lifestyle
医学public.app-category.medical
ミュージックpublic.app-category.music
ニュースpublic.app-category.news
写真public.app-category.photography
仕事効率化public.app-category.productivity
参考書public.app-category.reference
ソーシャルネットワーキングpublic.app-category.social-networking
スポーツpublic.app-category.sports
旅行public.app-category.travel
ユーティリティpublic.app-category.utilities
ビデオpublic.app-category.video
天気public.app-category.weather

表3にゲーム固有のUTIを示します。

表3 ゲームカテゴリ固有のUTI

カテゴリUTI
アクションゲームpublic.app-category.action-games
アドベンチャーゲームpublic.app-category.adventure-games
アーケードゲームpublic.app-category.arcade-games
ボードゲームpublic.app-category.board-games
カードゲームpublic.app-category.card-games
カジノゲームpublic.app-category.casino-games
ダイスゲームpublic.app-category.dice-games
教育ゲームpublic.app-category.educational-games
ファミリーゲームpublic.app-category.family-games
キッズゲームpublic.app-category.kids-games
ミュージックゲームpublic.app-category.music-games
パズルゲームpublic.app-category.puzzle-games
レーシングゲームpublic.app-category.racing-games
ロールプレイングゲームpublic.app-category.role-playing-games
シミュレーションゲームpublic.app-category.simulation-games
スポーツゲームpublic.app-category.sports-games
ストラテジーゲームpublic.app-category.strategy-games
雑学ゲームpublic.app-category.trivia-games
単語ゲームpublic.app-category.word-games



LSArchitecturePriority


LSArchitecturePriority(配列/Mac OS X)は、このアプリケーションがサポートするアーキテクチャを識別する文字列の配列です。

この配列内の文字列の順序は、アーキテクチャに適した実行優先順位を決定します。

表4にこの配列の可能性のある文字列を示します。

表4 実行アーキテクチャ識別子

文字列説明
i38632ビット Intelアーキテクチャ
ppc32ビット PowerPCアーキテクチャ
x86_6464ビット Intelアーキテクチャ
ppc6464ビット PowerPCアーキテクチャ

Intelアーキテクチャの前にPowerPCアーキテクチャを検出した場合、Mac OS XはデフォルトではIntelベースのMacintoshコンピュータであるかどうかに関わらず、Rosettaエミュレーションで実行可能ファイルを実行します。

Mac OS Xに現在のプラットフォームでのネイティブアーキテクチャを強制するには、情報プロパティリストに『LSRequiresNativeExecution』キーを含めてください。



LSBackgroundOnly


LSBackgroundOnly(ブール値/Mac OS X)は、アプリケーションをバックグラウンドでのみ実行するかどうか指定します。

このキーが存在し且つ1に設定されている場合、Launch Servicesはバックグラウンドでのみアプリケーションを実行します。

(ウィンドウが)目に見えないバックグラウンドアプリケーションの生成に、このキーを使用することができます。

アプリケーションがウィンドウサーバへの接続に高レベルフレームワークを使用していて、ユーザへの表示を意図していない場合も、このキーを使用する必要があります。

バックグラウンドアプリケーションは、Mach-O実行可能ファイルとしてコンパイルする必要があります。

このオプションはCFMアプリケーションでは使用できません。



LSEnvironment


LSEnvironment(辞書/Mac OS X)は、このアプリケーションの起動前に設定する環境変数を定義します。

環境変数名は辞書のキーで、対応する環境変数の値となる値を伴います。

キーと値は共に文字列である必要があります。

これらの環境変数は、Launch Servicesを介してアプリケーションを起動した場合でのみ設定されます。

コマンドラインから直接実行可能ファイルを実行した場合、これらの環境変数は設定されません。



LSFileQuarantineEnabled


LSFileQuarantineEnabled(ブール値/Mac OS X)は、このアプリケーションが生成するファイルがデフォルトで隔離されているかどうかを指定します。

説明
trueこのアプリケーションによって生成されたファイルは、デフォルトで隔離されます。
ファイルを隔離すると、システムはファイルがいつ隔離されたかのタイムスタンプ、アプリ
ケーション名、そしてバンドル識別子を自動的に関連付けします。
またアプリケーションは必要に応じてLaunch Servicesを使用して、隔離属性の設定や取得を
行うことができます。
false(デフォルト)
このアプリケーションによって生成されたファイルは、デフォルトでは隔離されません。

このキーはMac OS X v10.5以降で使用できます。



LSFileQuarantineExcludedPathPatterns


LSFileQuarantineExcludedPathPatterns(配列/Mac OS X)は、ファイルの隔離を無効にする際のパスを示す文字列の配列を格納します。

このキーを使用して、アプリケーションのパフォーマンスに影響を与えるファイルの隔離を避けることができます。

配列内の各文字列はshellスタイルのパスパターンで、~、*、?などの特殊文字は標準コマンドライン規則に従って自動的に展開されます。

例えばフォームの文字列『~/Library/Caches/*』は、ユーザのキャッシュディレクトリ内にあるアプリケーションによって生成されたファイルの隔離を無効にすることができます。



LSGetAppDiedEvents


LSGetAppDiedEvent(ブール値/Mac OS X)は、子プロセスのいずれかが終了した時に、OSがこのアプリケーションに通知するかどうかを示します。

このキーの値をYESに設定した場合、システムは各子プロセスが終了した際にAppleイベントkAEApplicationDiedをアプリケーションに送信します。



LSMinimumSystemVersion


LSMinimumSystemVersion(文字列/Mac OS X)は、このアプリケーションの実行に必要なMac OS Xの最小バージョンを示します。

この文字列はnを数値とすると、n.n.nという形式である必要があります。

最初の数値はシステムのメジャーバージョン番号です。

2番目と3番目の数値はマイナーリビジョン番号です。

例えばMac OS X v10.4以降をサポートする場合は、このキーの値を『10.4.0』に設定します。

最小システムバージョンが利用できない場合、Mac OS Xはその事実をユーザに通知するための警告パネルを表示しようと試みます。



LSMinimumSystemVersionByArchitecture


LSMinimumSystemVersionByArchitecture(辞書/Mac OS X)は、アーキテクチャの設定をするための最初期のMac OS Xのバージョンを指定します。

このキーは、キーと値のペアの辞書を格納します。

各キーは『LSArchitecturePriority』キーに関連付けられたアーキテクチャのいずれかに対応します。

各キーの値は、そのアーキテクチャ下で実行するアプリケーションに必要なMac OS Xの最小バージョンです。

この文字列はnを数値とすると、n.n.nという形式である必要があります。

最初の数値はシステムのメジャーバージョン番号です。

2番目と3番目の数値はマイナーリビジョン番号です。

例えばMac OS X v10.4.9以降をサポートする場合は、このキーの値を『10.4.9』に設定します。

現在のシステムバージョンが要求する最小バージョンよりも小さい場合、Launch Servicesは対応するアーキテクチャの利用を試みません。

このキーは実行アーキテクチャの選択のみに適用され、『LSMinimumSystemVersion』キーと組み合わせて使用することができ、アプリケーションの全体的な最小システムバージョン要件を指定します。



LSMultipleInstancesProhibited


LSMultipleInstancesProhibited(ブール値/Mac OS X)は、アプリケーションが複数ユーザのセッションの同時実行を禁止するかどうかを示します。

trueの場合、アプリケーションは同時に1つのユーザセッションのみ実行します。

このキーを使用することで、複数ユーザのセッション間でアプリケーションを共有することによって発生する可能性があるリソースの競合を防ぐことができます。

例えばカスタムUSBデバイスが別のユーザによって既に使用されている場合、ユーザからのアクセスを防ぐことができます。

ターゲットアプリケーションが起動できない場合、Launch Servicesは適切なエラーコードを返します。

別のセッションでユーザがアプリケーションを実行している場合、Launch ServicesはkLSMultipleSessionsNotSupportedErrエラーを返します。

現在のセッション内で別個のアプリケーションの起動を試みた場合、kLSMultipleInstancesProhibitedErrを返します。



LSRequiresIPhoneOS


LSRequiresIPhoneOS(ブール値/iOS)は、アプリケーションがiOS上でのみ実行できるかどうかを指定します。

このキーがYESに設定されている場合、Launch ServicesはホストプラットフォームがiOSの時のみアプリケーションの起動を行います。



LSRequiresNativeExecution


LSRequiresNativeExecution(ブール値/Mac OS X)は、現在のアーキテクチャのサブバイナリを使用して、アプリケーションを起動するかどうかを指定します。

このキーがYESに設定されている場合、Launch Servecesは常に現在のアーキテクチャ用にコンパイルされたバイナリを使用してアプリケーションを実行します。

このキーを使用することによって、ユニバーサルバイナリがIntelベースMacintoshコンピュータ上のRosettaエミュレーション下で実行されることを防ぐことができます。

実行アーキテクチャの構成についての詳細は『LSArchitecturePriority』を参照してください。



LSUIElement


LSUIElement(文字列/Mac OS X)は、エージェントアプリケーションとしてアプリケーションを実行するかどうかを指定します。

このキーが『1』に設定されている場合、Launch Servicesはアプリケーションをエージェントアプリケーションとして実行します。

エージェントアプリケーションはDockまたは強制終了ウィンドウに表示されません。

これらは通常バックグラウンドアプリケーションとして実行されますが、必要に応じてユーザインターフェイスをフォアグラウンドにすることもできます。

エージェントアプリケーションに属するウィンドウをクリックすると、イベントを処理するためにアプリケーションを前面にします。

Dockとログインウィンドウはエージェントアプリケーションとして実行されるアプリケーションの内の2つです。



LSUIPresentationMode


LSUIPresentationMode(数値/Mac OS X)は、アプリケーションの初期ユーザインターフェイスモードを識別します。

これは、DockやメニューバーなどのUI要素を含む画面の一部を引き継ぐ可能性のあるアプリケーションで使用されます。

ほとんどのモードは画面のコンテンツ領域に表示されるUI要素のみ、つまりメニューバーを含まない画面の領域に影響を与えます。

ただし、全てのUI要素を非表示にするように要求することもできます。

このキーはCarbonとCocoaアプリケーションの両方に適用することができ、下表の値のいずれかを指定することができます。

説明
0通常モード。
このモードでは、全ての標準システムUI要素が表示されます。
これはデフォルト値です。
1コンテンツ抑制モード。
このモードでは、画面のコンテンツ領域内のシステムUI要素が非表示になります。
UI要素は、マウスの移動や他のユーザアクティビティに応じて、自動的に表示されます。
例えばDockの自動表示領域にマウスを移動した場合に、Dockを表示することができます。
2コンテンツ非表示モード。
このモードでは、画面のコンテンツ領域内のシステムUI要素が非表示になりますが、マウスの
移動や他のユーザアクティビティに応じて自動的に表示されません。
3全非表示モード。
このモードでは、メニューバーを含む全てのUI要素が非表示になります。
要素は、マウスの移動やユーザアクティビティに応じて自動的に表示されません。
4全抑制モード。
このモードでは、メニューバーを含む全てのUI要素が非表示になります。
UI要素は、マウスの移動や他のユーザアクティビティに応じて自動的に表示されます。
このオプションは、Mac OS X v10.3以降でのみ利用することができます。



LSVisibleInClassic


LSVisibleInClassic(文字列/Mac OS X)。

このキーが『1』に設定されている場合、このキーを持つエージェントアプリケーションやバックグラウンドのみのアプリケーションは、Classic環境でバックグラウンドのみのプロセスとして表示されます。

このキーを持たないエージェントアプリケーションとバックグラウンドのみのアプリケーションは、Classicの実行プロセスとして全く表示されません。

プロセスがClassicアプリケーションと明示的に通信する必要がある場合を除き、このキーを含める必要はありません。



MinimumOSVersion


MinimumOSVersion(文字列/iOS)。

iOSアプリケーションをビルドする場合、XcodeはMinimumOSVersionキーの値の設定に、プロジェクトのiOS配置ターゲット設定を使用します。

このキーはInfo.plistファイルに自身で指定するものではなく、システムによって記述されるキーです。

アプリケーションをApp Storeに公開する場合、Storeはこのキーに基づいてアプリケーションが実行できるiOSのバージョンを示します。

これはMac OS XのLSMinimumSystemVersionキーを同等です。



参考文献

Information Property List Key Reference

0 CommentsPosted in 資料





bose_soundlink_revolve
0 Comments
Leave a comment
管理者にだけ表示を許可する
Top
0 Trackbacks
Top
Calendar
03 | 2017/04 | 05
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_soundlink_revolve
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