如果買了 Workflow 不會用,就從這篇開始吧 | 有用功 #iOS
如果你尚未聽過 Workflow,那麼它是一款 iOS 平台的神級自動化流程應用。所謂「流程」,就是將各類任務(Actions)串聯起來的流水線(Flow),就好比是一家工廠。這家工廠的任務可以有很多種,比如獲取剪切板內容,或是打開 app,播放歌曲等。
若此時,我們以特定的觸發條件和執行順序,將這些單一的任務銜接起來,便可以組成形形色色的流水線。而一旦流水線裝配完成後,你會驚奇地發現:任務們就像是被安置在了傳送帶上一樣,流程們會自動地被傳送至任意想到達的地點。
而 Workflow 就是其中這樣一家大工廠,它不僅能幫助我們省去每次重複操作的過程,而且還能完成許多不可思議的任務。喂,你有意識到嗎,這是一股「平民化」的編程浪潮!聽上去很酷不?那就加入這支先鋒隊吧。
首次打開應用,Workflow 會引導進入自帶的一例入門教程 – 製作 GIF。該流程的製作過程包括:
- 拖拽「拍照」與「製作 GIF」這兩個 Actions 至右側流程
- 選取拍照的張數,並點擊「播放鍵」運行流程
説到到這兒,相信你會猛然明白 Workflow 其特有的鮮明之處了吧!
引用敲代碼並不是人人都會,可作為智能手機用户,有誰不會拖拽和點擊呢?
而且你得明白 iOS 平台可是一向以權限限制嚴格而著稱,因此也只有像開發出 Workflow 這樣的越獄天才才懂得如何用最精妙的方式,去在已有的規則下,完成不可思議之作。
以下,我們將從入門、進階到最後羅列部分實例,來嘗試覆蓋 Workflow 一些常用或新奇的玩法。如果大家覺得不滿足,可以提出建議和請求,我們後續也會有更新。但是請始終記住
引用入手 Workflow 後最重要的一件事,應該是將所有的 Actions 和它們對應的用法全瀏覽個遍。
因為今後,你所有的新奇想法全會從這些 Actions 中迸發出。OK,話不多説,把玩開始!
入門
作為一款效率軟件,如何使用 Workflow 因人而異,但總歸也萬變不離其宗 —— 目的是去解決一個具體問題。因而,你得很清楚地知道自己需要完成何種目標,然後才能去具象化 Workflow 流程。
好比現在,我想要找一些絕美的壁紙,如何通過 Workflow 實現呢?其中一個思路就是通過 Unsplash 的隨機 API 來獲取精美圖片。整個過程可包括三個任務動作:
- URL 中填入 https://source.unsplash.com/random (輸入圖片源)
- Get Contents of URL(獲取鏈接內容)
- Quick Look & Save to Photo Album(預覽並保存至相冊)
其實在 Quick Look 執行時,我們也可選擇點擊右上角保存圖片,不過我還是推薦建立一個獨立 Unsplash 相簿,將這些照片分門別類到一起。此 Workflow 不需要任何變量或複雜的環路,算是簡潔實用的一例。
稍進一階
首先請原諒,我們在這邊並不會仔細討論與 URL Scheme 和 x-callback-url 相關的玩法。因為針對大部分用户,添加判斷、循環之類已屬不易,更不談去添加一大行的 URL 語法了。
對我而言,有時需要去從網頁中拖取一段視頻。比如説:我現在想將微博內的秒拍視頻下載到本地。而作為零基礎的我,該怎樣一步一步寫出此 Workflow 腳本呢?
首先,我們得清楚地知道獲取視頻的過程無非就是:獲得網頁內的源下載鏈接,並保存該鏈接所指向的文件。所以此流程包括如下關鍵的兩步:
1. 分析網頁
為了解析網頁代碼,我們可以使用 Get Clipboard 抓取微博內的分享鏈接,接着 Get Contents of URL 獲取網頁內容並 Make HTML from Rich Text 即轉化為 HTML 源代碼。
得到源代碼後,為了找到對應的視頻代碼塊(HTML Block),我們得暫時使用 Quick Look 稍加查看引號內的代碼,並搜索定位至同時包含「http」和「mp4」的段落。而此鏈接就是我們最終需要的視頻源鏈接。
2. 流程語法
以上的測試流程尚屬比較簡單,但若想將故事拼湊完整,我們還需要這兩個利器:「判斷 If」和「重複 Repeat」,而在第一步分析中,其實這兩件事都是在我們的大腦內完成的,因而最終的流程中還需要以下幾個子任務:
- Split Text with Quotation Mark 以引號將原網頁代碼分割成片段;
- Repeat with Each & If Control Flow by Keywords 重複所有的引號分割段,並通過關鍵字判斷篩選出視頻源鏈接;
- Set as Variable & Get Contents of URL 將視頻源鏈接設置為變量,待重複完成後,調出此變量並下載此鏈接所包含的源視頻。
需要注意的是,源網頁內目標視頻的代碼片段中包含 Escape Chararcher – 反斜槓 ‘\’,因此上面的變量需要替換掉該字符。縱觀以上,整個事件包含了:觸發,流程,判斷,執行以及反饋,是一套完整的 Workflow 流程。正所謂一通百通,如果我們想要得到其他網站內嵌的視頻,這一套解決方案也是通用的。
實例
對於那些不清楚自己想要些什麼,或者只是想純粹去體驗 Workflow 各大奇葩功能的主們,通常除了在官方 Workflow Gallery 之外,還可於非官方的集合 workflowgallery.co 和 workflow – vcs.de 以及 https://workflow.directory 中找到一些實用的例子。
這裏,我們將羅列出十個可能會常用到的流程,請大家用 Safari 瀏覽器打開以下鏈接,並儘可能地去造作它們。
Random Unsplash 隨機顯示 Unsplash 圖片:http://t.cn/R4l2XJm
Get Weibo Miaopai Video 獲取微博內視頻:http://t.cn/R4l2Km4
Save Webpage to PDF 保存網頁至 PDF:http://t.cn/R4l2NUK
Scan QR Code 掃描二維碼,若為網頁則打開之:http://t.cn/R4l2p91 (@JailJT)
Report Spam iMessage 舉報垃圾信息:http://t.cn/RZGGS38 (@tianshilei1992 、 @文刀刀漢三 )
Save from Instagram 保存 Instagram 圖片:http://t.cn/RZ3KEhX
Get Network & IP 獲取設備當前公網 IP 地址:http://t.cn/R4l2jDC
Combine Images 橫向拼接圖片:http://t.cn/R4l2TXd
Astronomy Picture of the Day 每日天文圖:http://t.cn/R4l2HeE
Search Clipboard by Provider 搜索剪切板:http://t.cn/R4l28eY
Who’s Calling 來電號碼檢測: http://t.cn/R4oVkcC
需求總是千變萬化的,所以也懇請讀者們儘可能地將自己的需求描述給我們聽,而我們會盡可能的添加和完善 Workflow 分享社區(比如後面即將介紹給大家的 BitTorrent Sync 共享文件集)。
要知道,這個星球上從來都不缺乏創新,來自曼切斯特的 15 歲學生 @logandev22 兩年前就開始了 iOS 應用的開發之路。@coolstarorg 今年 17 歲,他生活在 San Francisco,是一名地道的全平台開發者。而你,準備好用 Workflow 讓手頭的 iOS 設備閃閃發光了嗎?
資料來源:愛範兒(ifanr)
作者/編輯:Meldonization