2009-07-09 50 views
1

我正在開發中cocoa.I一個應用程序需要檢查的iTunes是否安裝或沒有在machine.Is有什麼辦法可以找到安裝的應用程序安裝的應用程序????查找可可

回答

8

函數LSFindApplicationForInfo()可以獲取包ID(例如com.apple.iTunes),因此您可以通過嘗試查找它來確定是否安裝了iTunes。

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

爲了回答你問題的第二部分,有上LaunchServices一個隱藏式的接口讓所有的應用程序名稱的列表。但是,您的目標是要查找是否安裝了iTunes,請不要使用它 - 只需查找iTunes即可。

+8

或者甚至可以使用 - [NSWorkspace absolutePathForAppBundleWithIdentifier:](這可能再叫LSFindApplicationForInfo()反正) – 2009-07-09 12:13:28

6

正如麥克·阿卜杜拉提到正確的可可電話是:

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