2014-11-14 61 views
0

是否有可能在Mac上編寫軟件,以啓動其他獨立應用程序,告訴他們該做什麼等等等等?什麼語言最適合這樣做? (假設它是Mac特定的)。利用OS X上獨立應用程序的資源

雖然我在iOS中擁有強大的背景,但我對Mac編程還是比較陌生的。過去我曾見過多家公司編寫一個腳本,它將交叉編譯源代碼,基本上你可以從終端運行你的應用程序,並在你的操作系統上運行,獲取需要編譯的內容並吐出Xcode,Eclipse和Unity已經有你的源代碼版本。我熟悉iOS,以及它如何在嘗試使用其他應用程序資源時崩潰。這是什麼導致我到原來的問題:

是否有可能在Mac上編寫軟件,將啓動其他單獨的應用程序,告訴他們該做什麼,等等等等?具體任務如啓動Safari,截圖,啓動磁盤實用程序,啓動郵件,電子郵件截圖。我知道OS X可以讓你玩的比iOS多一點,但問題是多少。

回答

1

這還是相當於每個應用程序將讓你做,而不是隻是能夠做任何事情,但看看OS X的腳本/自動化能力。主要是通過AppleScript訪問,但現在也有一個JavaScript前端(Yosemite的新功能)。

如果您正在構建一個利用其他應用程序的本機應用程序,也可以通過Cocoa(Objective-C/Swift)的Scripting Bridge來獲得相同的腳本功能。

+0

非常感謝您的信息,令人難以置信的幫助!所以如果我想編寫一個利用應用程序其他方面的實用程序應用程序,我很可能會在Xcode中構建它,並使用Cocoa的Scripting Bridge,並檢查Apple腳本以查看我可以訪問的內容,對不對? Yup! – John 2014-11-14 21:54:11

+0

是!應用程序腳本編輯器(在'/ Applications/Utilities'中)有一個Library窗口,允許您瀏覽應用程序公開的命令,並且可以使用它在應用程序中編寫簡單的(Apple或Java)腳本來測試您想要的內容做甚至是可能的。 – Arclite 2014-11-14 22:07:25

+0

但請注意,從沙盒應用程序向其他進程發送Apple事件需要[特定權利](https://developer.apple.com/library/mac/documentation/Miscellaneous/Reference/EntitlementKeyReference/Chapters/AppSandboxTemporaryExceptionEntitlements.html),這隻會在個案的基礎上被批准用於App Store。 – duskwuff 2014-11-14 22:39:17