使用AutoMator添加服務

前些天看到一篇講增強xcode開發(fā)效率的文章,文末提到Automator的妙用。雖然自己以前也簡單折騰過Automator,但沒有真正認識到應該如何使用Automator。這些天搗鼓一番后,跟大家分享一下我的收獲,同時也希望能起到拋磚引玉的作用,各位也能分享一下你們的心得。

什么是AutoMator Workflow

在日常開發(fā)或者使用mac的時候,我們難免會做一些重復性的工作。但是利用 Automator Workflow 就可以快速、高效、毫不費力的完成你所有費時、重復性的手動任務。只要拖動項目,用鼠標點擊就可以輕松的創(chuàng)建自定義的 Workflow。還可以使用你的 Automator Workflow 執(zhí)行一次或多次任務——甚至可以與朋友共享 Workflow。
你可以輕松的自動處理很多工作,諸如給大量文件重命名,也可以運行事先編寫好的腳本。

AutoMator的類型

AutoMator常用的類型有三種WorkFlow(工作流程)、Application(應用程序)、Service(服務).工作流程相當于是一個AutoMator文檔,只能在Automator內(nèi)部運行;應用程序是自運行的工作流程,拖到應用程序上的任何文件或文件夾均將作為該工作流程的輸入;服務是可在整個 OS X 使用的關聯(lián)工作流程,它們從當前應用程序或 Finder 接收文本或文件,服務會出現(xiàn)在“服務”菜單中。由于服務類型的Automator在使用上最為簡便,所以以下均以服務類型的Automatore做例子。

AutoMator的界面

界面
  1. 可選擇的動作列表/變量。
  2. 每個動作/變量的介紹。
  3. 工作流區(qū)域,一系列的動作在這里組織。
  4. 某個具體的動作的選項界面。
  5. 輸入輸出標記,有這個標記的時候表明上一個動作的輸出會作為下一個動作的輸入。
  6. Debug工具欄,調(diào)試work flow的時候使用
  7. 日志,Debug的時候會輸出每一個動作的執(zhí)行情況。

例子一:設置圖片為retina資源

作為一個iOS開發(fā)者,在圖片命名中加上@2x表示其為高清圖片是很常見的動作。我們可能會使用應用、腳本等手段來實現(xiàn)這個機械性動作。但是使用AutoMator,我們可以直接在Finder中選中文件,然后右鍵給其加上@2x。


界面
  1. 新建一個服務類型的AutoMator
  2. 修改獲取的內(nèi)容為文件或文件夾,應用為Finder
  3. 添加“獲取文件夾內(nèi)容”的動作,這樣我們的操作就可以對文件夾下的所有文件生效
  4. 添加“過濾Finder項目”,因為我們只想對圖片文件進行操作,而且我們不想重復添加@2x
  5. 添加“給Finder項目重命名”,選擇添加文本,給名稱后面加上@2x。
    界面

    OK,大功告成。保存為“設置為retina圖片”?,F(xiàn)在在Finder隨便選擇一個圖片,右鍵選擇服務->設置為retina圖片,可以看到文件名被自動添加上@2x。

例子二:在Finder打開

公司的項目中,圖片資源都是用腳本的方式拷貝到設備上,在工程里面看不到,以至于每次在Finder中尋找圖片文件都比較麻煩。現(xiàn)在用AutoMator就簡單多了。

  1. 新建一個服務類型的AutoMator
  2. 修改應用為Xcode
  3. 添加“運行shell腳本”,在右上角的“傳遞輸入”改為“作為自變量”。這樣在我們的腳本中就可以使用“$@”代表輸入內(nèi)容。然后腳本內(nèi)容輸入“basename $@ .png”(去掉后綴)。
  4. 再次添加“運行shell腳本”,同樣設置為“作為自變量”。腳本內(nèi)容輸入“mdfind -name $@”(用Spotlight搜索)
  5. 添加“顯示Finder項目”,這樣工作流運行結(jié)束的時候就會自動打開Finder了。

保存后,打開Xcode,在代碼中隨意選中一個文件名(比如"logo.png"),然后右鍵選擇“在Finder打開”(如果沒有找到,就找服務里面)。然后你就可以看到相應的文件在Finder中打開了。

調(diào)試

有時候我們寫出來的工作流不是馬上就能工作的,這個時候就需要調(diào)試。在Debug面板點擊“步驟”按鈕就自動開始逐步調(diào)試,日志面板會輸出每一步執(zhí)行的信息。需要注意的是,像之前我們添加的Automator都是服務類型,那么調(diào)試的時候我們需要使用“獲得指定的文本”之類的工作來代替輸入源。


界面
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內(nèi)容