公司項(xiàng)目一個問題小結(jié),AppleScript,了解一下~
【AppleScript】關(guān)于Mac如何使用shell關(guān)閉某個應(yīng)用窗口(來自于SDKTool)
今天SDKTool遇到一個問題,是說如何使用NSTask來關(guān)閉Xcode的窗口,其實(shí)本意是因?yàn)镾DKTool(包括MobPods)添加了第三方庫之后如果當(dāng)前項(xiàng)目是打開的,那么沒法及時的看到,所以想要關(guān)閉之后重新打開一下,我們都知道重新打開比較簡單,直接一句shell命令:“open /your/project/path”就可以了,但是問題是怎么關(guān)閉呢?沒有對應(yīng)的close命令啊,所以就有下面的主角登場了——AppleScript。
找了半天也沒找到shell對應(yīng)的命令,無奈只好放棄使用shell腳本,另辟蹊徑,機(jī)緣巧合的看到了AppleScript似乎可以做很多比shell控制更簡單方便的事情,所以下面以如何關(guān)閉Xcode窗口給大家介紹一下AppleScript,后續(xù)更多應(yīng)用尚待研究。
AppleScript的介紹在這里:https://developer.apple.com/li ... .html 就請大家自行翻閱了,編寫AppleScript時可以使用macOS系統(tǒng)自帶的“腳本編輯器”(在launchpad的其他里),不過不得不說,難用的一批,一點(diǎn)提示都沒有~~mdzz
好了,我這里先上一個簡單的例子,如下圖:

這段腳本的意思就是:“告訴Xcode這個應(yīng)用,讓它把前置的window關(guān)閉,好了?!蹦_本還是比較簡單的,只是語法需要熟悉。
寫完之后點(diǎn)擊上面的運(yùn)行腳本按鈕就可以進(jìn)行測試了,先用Xcode打開一個項(xiàng)目,然后點(diǎn)擊運(yùn)行腳本,就會發(fā)現(xiàn)Xcode打開的項(xiàng)目被關(guān)閉了。
另外,除了在這里執(zhí)行,也可以將寫好的代碼保存成腳本文件,保存時選擇文件類型為“腳本”,如下圖:

保存好之后是一個“.scpt”的文件,然后就可以直接使用shell或者其他腳本語言來調(diào)用了,調(diào)用時依賴的是“osascript”這個命令(mac系統(tǒng)自帶),shell調(diào)用示例如下:
