我完全不知道從哪裏開始。我想在Objective-C中構建一個與iTunes交互的OS X應用程序,即添加歌曲,電影,播放或暫停等。在OS X應用程序上與iTunes進行互動
現在,我知道在Windows中,我可以使用COM要做到這一點,我已經嘗試過了。在OS X中有類似的東西嗎?應用程序通常如何相互通信或他們如何公開其API?
我應該閱讀什麼協議?
我完全不知道從哪裏開始。我想在Objective-C中構建一個與iTunes交互的OS X應用程序,即添加歌曲,電影,播放或暫停等。在OS X應用程序上與iTunes進行互動
現在,我知道在Windows中,我可以使用COM要做到這一點,我已經嘗試過了。在OS X中有類似的東西嗎?應用程序通常如何相互通信或他們如何公開其API?
我應該閱讀什麼協議?
您在OS X上尋找的是腳本或「自動化」和AppleScript。這裏有一些簡短的故事,有一些鏈接可以幫助你:
主要應用程序(當然也有iTunes,我有一些經驗)公開了對象,方法和屬性等的「腳本字典」,它們可以通過系統腳本框架。
這通常由AppleScript環境中的腳本完成。 AppleScript是一種語言,它針對OS X上的底層腳本基礎架構。您可以wade into that here。還有其他方法可以與腳本基礎結構進行交流,但您應該瞭解AppleScript語言是否是唯一的「一流」方式,因此應用程序響應方式的語義傾向於與AppleScript與他們談話的方式是不可分割的。 (更多內容)
查看標準(雖然簡約)用戶級別編輯器中的「腳本編輯器」應用程序(已安裝在Mac上,只需打開Spotlight),並嘗試使用File->Open Dictionary
命令檢查字典的一些應用程序(如iTunes)。
如果你想談論到iTunes從您的應用程序,不過,並沒有從自己的一次性腳本,你有幾個選項(這些都是很容易混淆,但實際上是相當獨立的):
我不知道你在找什麼,在複雜的iTunes互動,但這裏有一些重要的事情要知道當你上手:
謝謝你的完整答案!基本上,這將是一個Cocoa應用程序,所以我可能會使用Scripting Bridge或NSAppleScript!不相關,但是,你知道蘋果是否正在計劃更新或刪除更強大的AppleScript嗎? – CoachNono
@ CoachNono。別客氣。我剛剛完成了一個複雜的iTunes集成,所以這在我心中是全新的。 Yosemite剛剛推出了「用於自動化的Javascript」,它基本上是用於腳本框架的JS綁定。這看起來非常有希望,但是它沒有足夠的文檔記錄和直接打破尤其是與iTunes(不要打擾,它會打破你的心)。我不知道是否有更長期的計劃,但我希望如此!它是一個強大的想法,當它的工作。祝你好運! –
目前,COM的內置Mac OS X等價物是Apple事件。實現它們的最簡單方法是使用AppleScript,但不一定要;你可以直接形成原始的Apple事件。
碰巧你已經選擇了一個應用程序(iTunes)很可溝通 - 使用Apple事件/ AppleScript。
AppleScript應該在這裏幫助 – Volker
http://www.liquidx.net/eyetunes/是我與iTunes保持良好關係的首選 - 它直接處理AppleEvents的所有事情。這可能有點過時,但我敢打賭你找不到更快的東西! –
@零:有趣的鏈接。 EyeTunes似乎早於Scripting Bridge框架,它基本上做了同樣的事情(將Apple事件IPC包裝在類似OOP的界面中)。對於新項目,我推薦使用Scripting Bridge;它幾乎肯定會一樣快,並且對於某些用途可能會更快,並且它會讓您訪問完整的當前iTunes腳本字典。 –