iOS Workflow 分享 - Scan QR Code

Workflow: Scan Code

不少時候咱們無心識地用微信掃描一個 QR Code,而後不管打開的是什麼咱們用就是了。我常常會好奇到底 QR Code 編碼的是什麼信息,究竟是一個 ID 呢,仍是一個 URL(多是 deeplink)呢,仍是一個 JSON 呢。因此我作了這個簡單的 Workflow,先把 QR Code 的純文本內容顯示出來,而後再讓我選擇使用哪一個 app 來接收這個字符串。若是這個字符串是 URL,Workflow 會提示我用瀏覽器打開,我也能夠用 Opener 來打開 deeplink。瀏覽器

若是你尚未安裝 Workflow,你能夠先去免費下載安裝上。而後打開 Scan QR Code 並點擊「GET WORKFLOW」,這個 Workflow 就會被自動導入到你的 Workflow 中去,而後你就能夠調用它來掃描 QR Code 了。微信

此外順便推薦一下上面提到那個叫作 Opener 的 app。它作的事情很簡單,你給它一個網站的 URL,若是那個網站有對應的 app 的話,它會嘗試經過 deeplink 在 app 裏面打開這個 URL 對應的內容。舉個例子,我在 Mobile Safari 上打開了一個知乎的問題,而後我能夠把這個網頁的 URL 發送給 Opener 讓它幫我打開知乎 app 且在知乎 app 內打開同一個問題。app

原理

這個 Workflow 最重要的 action 是第一步,利用「Scan QR/Bar Code」把 QR Code 掃描出來。這一個 action 會返回 QR Code 本後編碼的字符串,而後咱們把它存到 Content 變量中去。網站

Workflow: Scan Code

接下來「Get URLs from Input」這個 action 能夠把 Content 中看似 URL 的內容提取出來,所以若是 Content 是 URL 咱們就會獲得 URL 不然就沒有內容。爲了驗證 URL 提取成功,檢查提出出來的內容包含 ://,若是有的話那就必定是 URL 了,不然就是非 URL 的文本。google

對於 URL,我提供 5 個操做的選項;對於非 URL,只有其中的 2 個。而後下面是根據用戶做出的選擇,執行 5 個操做之一:編碼

  1. 打開(僅限 URL):使用 iOS 系統方式打開這個 URL。若是這是個 deeplink 或者 Universal Link,那就會在對應的 app 中打開。
  2. 在 Chrome 中打開(僅限 URL):由於我用 Chrome for iOS 而非 Mobile Safari,因此我會對普通網頁使用這個選項。
  3. 在 Opener 中打開(僅限 URL):若是我想嘗試用這個網頁對應的 app 打開的話。我在 Opener 中設置了若是找不到對應的 app 就默認提示我用 Chrome 打開。
  4. 複製:複製字符串。
  5. 分享:調用系統的分享功能。

訂閱

我以後還會分享更多 Workflow,不想錯過的話歡迎經過郵件RSS/Atom 訂閱個人博客。3d

相關文章
相關標籤/搜索