天天看點

【Launcher 教程】從 URL Schemes 入門到用 Launcher 調用各效率軟體

如果你剛接觸 url schemes,請從頭開始看,會有收獲。

url schemes 是在 ios 裝置上執行效率操作的利器。在智能裝置上,有一類效率工具,其功能的主要目的就是減少操作時人所受到的幹擾、減少操作步驟,讓你直達你需要達到的功能。而在 ios 裝置上,隻有 url schemes 和 x-callback-url 相關的動作才有這個能力。是以在 ios 上,同類的軟體,支援不支援 url schemes 和 x-callback-url 在某種程度上,是判斷它是否精良的标志。

這篇文章你會經常看到 url schemes 這個詞,因為 launcher 本質上就是一個完全基于 url schemes 的軟體。那麼 url schemes 是啥?你可以這麼了解:在不越獄的 ios 裝置上,通過一個軟體打開另一個軟體乃至另一個軟體的具體某個功能的辦法。

比如,你在你 ios 裝置裡的 safari 的位址欄裡輸入 <code>music://</code> 然後按<code>前往</code>(英文鍵盤是<code>go</code>),看看發生了什麼事。

【Launcher 教程】從 URL Schemes 入門到用 Launcher 調用各效率軟體

這就是 url schemes 的能耐。在 ios 裝置裡,并非隻有 safari 才可以使用 url schemes,也不是隻有蘋果的 app 才能用 url schemes 來激活。理論上,每個 app 都可以讓自己支援 url schemes,而且事實上也已經有相當一批軟體支援了 url schemes,是以,也出現了有一些軟體本身不具備獨立的功能,但因為 url schemes,它們可以充當那些支援 url schemes 的啟動器。

在能夠使用 url schemes 的軟體裡,launcher 應該是最入門的一款。它的整個軟體就是個 url schemes 激活器,而且它隻支援最傳統的 url schemes 格式,是以如果想入門 url schemes,從 launcher 開始就是個不錯的選擇。

啟動器是 launcher 的官方中文翻譯,你在 launcher 裡建立了一個 app 或是一個聯系人的電話,都統稱為啟動器。

launcher 的目的是讓你在通知中心裡使用啟動器,是以你裝完這個軟體首先要做的是把它添加到通知中心裡。在 launcher 這個軟體中某些啟動器會失效,會彈出“抱歉,無法打開指定啟動器”這個提示,但是在通知中心裡打開它就沒問題。

添加内置動作是點選右上角的編輯按鈕,然後點選綠色的加号(不要問我為什麼綠色的加号下面是“添加新曲目”,到現在我都沒弄清 launcher 的中文翻譯是個人還是谷歌):

【Launcher 教程】從 URL Schemes 入門到用 Launcher 調用各效率軟體

不購買内購的話,launcher 隻能添加 8 個啟動器。而它預設就給你加了 7 個。是以你其實第一要做的不是添加,而是删除,把它預設的那些全給删光。不要想“我以後也許會有用”,當你不知道一個東西對你有用沒用的時候,你要做的不是把它放在身邊礙事而是把它扔一邊,如果你再次意識到你需要它,你再把它拿回來。

【Launcher 教程】從 URL Schemes 入門到用 Launcher 調用各效率軟體

删除光了清爽多了

按綠色加号,就能看到 launcher 内置的啟動器模闆。launcher 裡有 4 種形式的啟動器:聯系人、網站、應用程式、自定義(url schemes)。這裡隻介紹<code>應用程式啟動器</code>,懂了應用程式怎麼玩的話,聯系人和網站就不成問題。自定義啟動器我們下個部分再提。

【Launcher 教程】從 URL Schemes 入門到用 Launcher 調用各效率軟體

選擇<code>應用程式啟動器</code>後,你看到一個被劃分為

4 部分的清單。

第一部分<code>是贊助商</code>,也就是廣告,這部分購買内購以後會消失。

第二部分是<code>系統 app</code>,裡面是 ios 内置的并且支援 url schemes 的 app。

第三部分是<code>第三方 app</code>,即你在 app store 裡下載下傳的并支援 url schemes 的 app。

最後一部分是<code>所有可啟動的應用程式</code>,裡面囊括了

launcher 資料庫裡支援 url schemes 的所有 app。

拿第二部分<code>系統 app</code>來舉例,你會看到有一些 app 後面有箭頭而有的沒有。沒箭頭的,代表 launcher 隻能通過這個動作啟動這個 app。而有箭頭的代表我們還可以進行下一步的動作。

比如<code>設定</code>這一項,點進去以後我們能看到設定中的所有選項。選擇其中一個,比如最後一項

wi-fi,就會看到下面這個界面:

【Launcher 教程】從 URL Schemes 入門到用 Launcher 調用各效率軟體

如果你不需要特别的修改,那麼選擇你想要的動作。根據提示操作,就建立完成了一個動作。其它的内置動作也是如此,根據菜單的引導就可以做到了,沒有什麼困難的。

本質上,4 種内置的啟動器都是利用了 url schemes,是以它們都可以用 url schemes 的規則來修改,添加自定義動作這一項本質上也就是填寫一個你自己知道的 url 然後取名字,配圖。

像 launcher 還有 launch center pro 這樣有内置動作的軟體,并不是說它們内置了的就是全部。

比如 laucnher 裡有 app store。在 launcher 的菜單裡,它隻能啟動 app store,不能做出像<code>直接進入付費榜界面</code>這樣更直接的操作。那麼是不是

app store 不支援那樣更直接的操作呢?不是,而是 launcher 開發者不知道,每個 app 的 url 都不同,是以不能指望 launcher 的開發者知道全部的 url。不過 launcher 的開發者給了個網站,你可以[這個網頁](https://cromulental.appspot.com/suggest/)送出 launcher 中沒有的軟體和動作。

我們也可以修改它原始動作的 url,以 app store 為例:

第一步:添加内置的 app store 這個動作,

第二步:在 launcher 的設定選項裡選擇<code>進階使用者設定</code>,看看裡面倆開關是不是都開着的(預設是關閉的),不是的話都打開,打開以後才能直接在動作裡編輯

url:

【Launcher 教程】從 URL Schemes 入門到用 Launcher 調用各效率軟體

第三步:編輯 app store 這個啟動器,把<code>直接打開付費榜</code>這個動作的

url替換進去:

itms-apps://itunes.apple.com/webobjects/mzstore.woa/wa/viewtop?genreid=36&amp;popid=30
【Launcher 教程】從 URL Schemes 入門到用 Launcher 調用各效率軟體

你可以看到,launcher 這個輸入 url 的地方太憋屈,而且這些 url 你很容易看錯,比如上面 app store 付費榜的 url 裡最後的這部分<code>genreid=36&amp;popid=30</code>,裡面沒有“l”,都是大寫的“i”。是以我建議,你在修改

url shemes 的時候最好避免輸入,尤其是避免看着别人的 url 輸入,最好是複制粘貼。

如果你添加的動作是直接從 launcher 内置的動作裡添加的,那麼它會自動給你比對相應軟體的圖檔。

不過我們看設定選項那些動作的圖檔都一樣,都是那個齒輪,沒有辨識性,一拉開通知中心看見四個齒輪多堵得慌……是以 launcher 還可以讓你自己修改 icon。

在動作編輯界面點按 icon,就能修改 icon:

【Launcher 教程】從 URL Schemes 入門到用 Launcher 調用各效率軟體

自定義圖示就是讓你從裝置上傳圖檔,這個圖檔你可以在網上找。launcher 可以對圖檔進行縮放,并且有圓形和圓角矩形兩種外型,隻要你找的圖檔清晰度夠,作出的圖示就不會太難看。

複合 icon 就是 icon 右下角還有個小 icon,用于給啟動器歸類。比如說你在 launcher 裡添加聯系人,有的是用來打電話的有的是用來發短信的,除了硬記,咋差別?launcher 讓你在用于發短信的聯系人右下角添加一個短信的圖示,在用于打電話的聯系人右下角放一個電話的圖示。

【Launcher 教程】從 URL Schemes 入門到用 Launcher 調用各效率軟體

但是複合 icon 這個功能比較殘,它的主圖示,就是大的那個 icon,隻能是聯系人圖檔,不能是你自定義上傳的圖檔。是以如果你不在你通訊錄添加一堆無用聯系人的話,你就隻能在通話或短信這方面使用複合圖示了。

launcher 總共有三個進階功能,這三個進階功能沒有一個,而且合起來也不值 25 大洋。當然,如果你在它上一版下架前就用 12 塊買過内購的話,在這一版可以恢複内購。

進階功能的第一個是隐藏 label。label 就是 icon 下面的那一行字。比如說看着你手機上微網誌這個軟體,紅黃相間的圖檔叫 icon,下面“微網誌”倆字叫 label。

是以隻要你花 25 塊錢,就可以在通知中心插件和 launcher 軟體中,隐藏動作名啦!多麼的劃算!

我一直說,通知中心是寸土寸金,插件越不占地方越喜歡。launcher 的另一項進階功能,就是調節 icon 在通知中心和 launcher 軟體中的大小。它一共有三個層級:(以 iphone 為例)最大的,可以一行顯示 4 個 icon;中間檔,一行可以顯示 5 個 icon;最小的,可以一行顯示 7 個 icon:

【Launcher 教程】從 URL Schemes 入門到用 Launcher 調用各效率軟體

聽我的,如果你買了進階版,一定試試放 7 個設定選項動作然後隐藏 label。

沒有買進階版的使用者隻能用 8 個啟動器,買了的話 iphone 可以添加到 20 個,ipad 可以添加到 30 個。

這可以說是最值錢的進階功能了,但它值 25 塊嗎?今天有人來跟我說,因為 launcher 可以把 workflow 的動作放進去,是以 8 個肯定不夠用。是以我覺得這個看了解,我不喜歡在通知中心放這麼一大坨方疙瘩,我的思路是隻用幾個有必要且常用的,4 個比較理想,因為不會看起來缺個口,不然我其實頂多放 3 個。

作為一個通知中心啟動器,launcher 的優勢就是“任意界面皆可調動”。同時作為一個效率軟體,我們希望通過它能少做一步操作就少做一步。是以它的使用思路跟你本人的使用情境和對 url schemes 的掌握挂鈎。

打開設定選項,例如 wi-fi、鍵盤、用量等。這是 launcher 的獨特功能,其它 app 都沒敢踩這個紅線。(通過内置動作即可完成)

利用 url schemes 直接打開 moneywiz 的支出頁面,用于記賬。(需要掌握 moneywiz 的支出頁面的 url schemes)

利用 launch center pro 的 url schemes,直接調用 launch center pro 中的 1password 動作。(需要知道如何可以調動 launch center pro 的動作)

這其中第三點,值得細說一下。目前知名的使用 url schemes 的軟體,如 launch center pro、drafts、workflow等,都有自己特殊的功能,我們對它們的要求也因為它們的特性而各不相同。是以我們用這些軟體做成了功能各異的動作,來提高我們的效率。而且這些軟體中的動作,都可以用 url schemes 來調用,也就是說,有了 launcher,就不必再進入各自的軟體界面,而是在通知中心就能直接使用這些強大的動作。

下面我們就分别說一下這三款軟體的動作如何用 url schemes 來調用:

有的部分有點難,看不懂就過,你用得着了再回來琢磨。

launch center pro 的每個動作,都有一個動作 id,名為<code>action id</code>,它可以在<code>動作編輯頁面</code>的最下方找到。調用

launch center pro 裡這個id 的url schemes 是 <code>launch://?url=[action:aciton id]</code>。

是以如果你想在 launcher 裡使用 launch center pro 的動作,隻要在 url 的編輯部分填入 <code>launch://?url=[action:aciton id]</code> 這個 url。

【Launcher 教程】從 URL Schemes 入門到用 Launcher 調用各效率軟體

drafts 不像 launch center pro 一樣給每個動作都搞了個 id。drafts 中的動作唯一辨別就是它的名字,而調用 drafts 中動作的 url 是<code>drafts4://x-callback-url/runaction?text=文本&amp;action=動作名</code>

你可能會意識到 drafts 是個文本編輯軟體,launcher 又不能輸文本我用它幹啥。确實,我們看到,這個 url 裡,<code>text=</code> 後面是<code>文本</code>,這個<code>文本</code>可以是具體的文字,比如說可以是越獄指南,你可以直接把<code>越獄指南</code>放到這個<code>text=</code>後面,那麼你執行任何動作,發出去的文本都是預設好的<code>越獄指南</code>。

但是這個<code>文本</code>還可以是 <code>parameter</code>,也就是參數。參數就讓這個

url 更加靈活,比如,你可以把剪切闆的内容添加到 drafts 的這個調用動作的 url 中:

drafts4://x-callback-url/runaction?text=||clipboard||&amp;action=動作名

那是不是我們直接把上面這個 url 放到 launcher 裡就能直接調用了呢?不是。url schemes 這貨讓人煩人的重要一點就是标準不統一,像 launch center pro、drafts 這樣的老牌 app,它們都會自動地對 url 中的符号進行 encode,可是像 launcher 這樣的剛進入這個領域的軟體,一般都得我們先手動地把符号 encode 了以後才能用,起碼得對部分符号 encode。launcher 尤其讨厭,你把符号全部 encode 了它也不認識,你就必須把 launcher

不認識的那部分符号給 encode 了才可以。這部分符号中,就有上面 drafts 這個動作裡,調用剪切闆的那個特殊符号——<code>|</code>。它

encode 以後是 <code>%7c</code>,也就是說,你如果想在

launcher 裡做一個通過 drafts <code>直接 google 剪切闆内容</code> 的動作,它的 url 應該是這樣:

drafts4://x-callback-url/runaction?text=%7c%7cclipboard%7c%7c&amp;action=google搜尋的動作名

這個功能當然也可以用 launch center pro 和 workflow 做到,是以這裡提到它主要是為了說明一下 url schemes 的編碼問題。

launcher 裡内置了 workflow 的動作,是以你可以直接選擇 workflow 的動作去使用。

如果你想知道 workflow 調用動作的 url,為了便于你在其它 app 中使用的話,這個 url 是:

workflow://run-workflow?name=workflow動作名

沒想到一個 launcher 的教程最後帶出來這麼多東西,我本人還不是那麼喜歡它……

這篇文章沒有談 launcher 的界面、設計和翻譯,因為我怕吐槽起來沒個完。最後這裡簡單說兩句:你看它界面,沒什麼設計感,ios 感都很弱;再看它設計,有幾個軟體會把設定選項裡放那麼多沒用的幹擾使用者的按鈕,跟 tweetbot 的設定界面對比下;最後看看翻譯,

是以,實用性,launcher 是有的,但囿于 ios 的通知中心目前糟糕的表現,比如每次拉出會重新整理一下、回報不及時、容易安錯等,launcher 的實用性也大打折扣。而在整體設計上,launcher 難說及格。

其實我一直想知道的還是 launch center pro 開發者知道 launcher 滿血複活以後什麼感受,是不是滿腦子問号然後一口老血吐鍵盤上。

轉自: http://jbguide.me/2015/03/21/launcher/