2009-07-09 13 views

答えて

8

LSFindApplicationForInfo()関数はバンドルID(例:com.apple.iTunes)を受け取ることができるので、iTunesを検索することでiTunesがインストールされているかどうかを調べることができます。

http://developer.apple.com/DOCUMENTATION/Carbon/Reference/LaunchServicesReference/Reference/reference.html

あなたの質問の後半部分に答えるために、すべてのアプリケーション名のリストを取得するLaunchServicesに隠されたインターフェイスがあります。ただし、iTunesがインストールされているかどうかを確認することが目的であるため、使用しないでください。iTunesを探すだけです。

+8

または1つでも使用することができます - [NSWorkspace absolutePathForAppBundleWithIdentifier:](おそらくLSFindApplicationForInfo(まで)コールとにかく) –

+1

あなたはもっとに関する情報を持っています「すべてのアプリケーション名のリストを取得するためのLaunchServicesの隠れたインターフェース」について –

6

としては、マイク・アブドラによって正しいココアコールを述べたです。

NSString* iTunesPath = [ [ NSWorkspace sharedWorkspace ] 
     absolutePathForAppBundleWithIdentifier: @"com.apple.iTunes" ]; 
if(iTunesPath) { 
    // iTunes installed, do something 
} 
関連する問題