在文章的前半部分,我將給你介紹幾個有趣的快捷指令,并且附上共享鏈接,您可自行安裝。在文章的最后,則是一篇教程,用于制作一個比較復雜的快捷指令。
注意:如果需要安裝我或者其他朋友共享給你的快捷指令,需要在“設置”-“快捷指令”中“允許不受信任的快捷指令”,否則會無法安裝。
這篇文章之前被有的人搬運了,如果需要獲取授權請聯系 tkw1000@icloud.com,否則可能面臨法律責任。
「愛情日歷」
難度:★☆☆☆☆
用處:★★★★☆
在導入時配置你的名字、TA 的名字,以及你們在一起的日子,然后輕松一點就可以知道你和 TA 在一起多少天了!
獲取地址:https://www.icloud.com/shortcuts/a620be0209c94e0a9302faf0cfdf7c72
注意:如果你輸入的日期是 2018/2/14,那么 2018/2/15 是你們在一起的第一天!
「剪貼板」
難度:★★☆☆☆
用處:★★★★★
我們經常需要純文本而不是富文本,而剪貼板這個快捷指令的主要作用除了查看剪貼板還能去除文本格式,另外還能在去除文本格式后快速打開你可能用得到的 App,實現跳轉。
獲取地址:https://www.icloud.com/shortcuts/fe948dcf38df4f5799d81ab46eb149d7
注意:有可能你沒有安裝對應的這些 App, 在快捷指令中的選取菜單中刪除對應 App 選項即可。
「匯率轉換器」
難度:★★★☆☆
用處:★★★☆☆
這個快捷指令可以實現人民幣和美元的實時匯率轉換(通過調用聚合數據的在線 API),并且將結果復制到剪貼板。
獲取地址:https://www.icloud.com/shortcuts/79bd88b7f2a74687a7e4abb50346aa87
注意:這里的實時匯率通過 API 的 get 方法,bank 參數為 0,所以使用的是工商銀行的匯率數據,具有實時性。
下面的部分是一篇教程。用到了網絡 API 回傳的信息,比較有難度。有人說使用 API 就是勇攀快捷指令的高峰。API 無限地拓展了快捷指令的使用場景,如果想成為高手的話,請多多鉆研和交流吧!
「簡體/繁體/火星文轉換」
難度:★★★★★
用處:★★☆☆☆
看到一段繁體文字,如何用最快的方式將其轉換為簡體?不需要在不同的 app 之間復制粘貼、跳來跳去。現在,利用蘋果手機里的「快捷指令」app,就能輕松實現繁體轉換簡體,簡體轉化繁體,甚至是火星文和繁簡體的互換。
「快捷指令」是一款 iOS app,它的作用是把需要按一定次序的工作流程按序排好,做成一個小程序,然后點擊小程序一鍵便可自動完成工作流程。
這個小程序如何使用
-
例如在郵件(或瀏覽器等任意能夠選中文本的 app)中選中一段話,點擊“共享...”,彈出分享界面對話框。
點擊「快捷指令」,對應的窗口會自動彈出。
-
點擊我們將會實現的 Simplification 小程序就可以了(稍后將會向你介紹如何實現)。得到的簡體結果將以備忘錄的形式給出。
您可以點擊下載 Simplification 小程序,如果想要查看實現細節,請繼續觀看。
快捷指令實現步驟
1 新建快捷指令
打開快捷指令,點擊 Create Shortcut 新建工作流。點擊右上角的齒輪設置圖案,在 Settings 界面,將其命名為 Simplification,將 icon 更換為你喜歡的圖標。將這個工作流的 type 設置為 Action Extension,這樣我們才能在“共享...”中找到它。
2 獲得輸入的文字
現在回到剛才的界面,左滑,進入到了許多的功能區。搜索 Get Text from Input 并且將它拖動到右側區域,這個步驟的作用是利用 Action Extension 來獲得你選中的一段文字,并將其作為輸入送到你的工作流內。好了,現在你在工作流中獲得了這一段文字。為了方便在后面的過程中使用這段文字,你需要將它命名為一個變量:使用 Set Variable,將變量命名為 text。
3 申請使用 API 接口
現在進入到我們的核心部分了:使用網絡上的 API 接口實現 text 從繁體轉換為簡體。其實這一步很好理解——在蘋果手機上,我們不可能也沒必要自己編寫代碼來真實地實現繁體轉換簡體,我們只要把這個 text 數據發送給“某人”,然后這個人遠程轉換過后,再把結果發送回來就行了——這就叫 API 接口,即:Application Programming Interface 的使用。
有許多的類似接口可供使用,這里我使用的是聚合數據網提供的接口,是可以免費使用的。點擊可查看
經過注冊以及認證過后,我們點擊立即申請,就可以獲得每天100次的免費調用了。注意復制申請后網站所提供的 KEY,以備后續在 Shortcuts 工作流中使用,如果沒有這個能證明你申請過的身份的 KEY,你后面發送的數據不會被這個“某人”所承認的。
4 填寫 URL
回到 Shortcuts,搜索并拖拽 URL,仿照聚合數據網的請求示例填寫 URL 地址:“http://japi.juhe.cn/charconvert/change.from?text=&type=&key=”這里有三個等號后面的參數需要填寫。
text=:等號后面注意選擇你剛剛命名的那個變量 text,也就是待轉換的字符串;
type=:根據聚合數據網的要求,0代表將文字轉換為簡體,1代表轉換為繁體,2代表轉換為火星文,這里我們就填寫0;
key=:寫上你申請得到的 KEY。
5 獲得網站返回的 JSON 數據
現在有了 URL,我們使用 Get Contents of URL 來獲得調用 URL 后返回的數據(在這里是一個 JSON 數據)。 通過點擊這個步驟名稱查看說明可以知道,返回的結果是 data 類型的,為了能夠以 Text 的形式獲取到 JSON 數據(便于后面將 JSON 轉化為 Dictionary,因為 Shortcuts 的 Dictionary 類型只接受 Text、Photo 兩種其他類型的輸入),我們再加入一個 Get Text from Input,這樣以后我們就能輸出一個以文字形式存在的 JSON 數據了。JSON 是一種簡單的組合鍵值對的統一方式,欲了解更多,請點擊百度百科 JSON。
我們來進行一個小測試,看看能獲得什么結果。在此之前,我們需要將所獲得的結果展示出來,為了方便使用者查看、復制與粘貼,最好的方式是將文字共享到備忘錄(當然不必真的創建備忘錄,點擊取消就可以結束查看了),當然也可以選擇其他的方式,比如復制到剪切板、發送郵件或信息等。搜索并拖拽 Create Note 到工作流的最后。現在開始測試,在郵件中選擇并分享,運行 Shortcuts,點擊 Simplification,好了,現在應該能夠得到如下的結果了。
6 對 JSON 數據進行處理
看到這樣的一大段文字,我們來分析一下。
{"error_code":0,"reason":"Return Successd!", "instr":"天下皆知美之爲美,斯惡已①;皆知善之爲善,斯不善已。 有無相生②,難易相成,長短相形③,高下相盈④,音聲相和⑤,前後相隨⑥。 是以聖人⑦處無爲⑧之事,行不言⑨之教;萬物作而不爲始⑩,生而不有,爲而不恃?,功成而弗居。夫唯弗居,是以不去。","outstr":"天下皆知美之為美,斯惡已一;皆知善之為善,斯不善已。 有無相生二,難易相成,長短相形③,高下相盈四,音聲相和伍,前后相隨⑥。 是以圣人七處無為⑧之事,行不言⑨之教;萬物作而不為始⑩,生而不有,為而不恃?,功成而弗居。夫唯弗居,是以不去。"}
error_code 為0以及 reason 都表明我們是成功地調用了網站的 API 接口。后面有兩個參數分別是 instr 和 outstr,就是我們的輸入輸出了。因為輸入的原文含有注釋數字符號,所以會出現一些轉換上的問題,但是不影響閱讀。
我們現在通過 Dictionary 來獲得 outstr。搜索并拖拽一個 Get Dictionary from Input 到 Create Note 之前,現在我們就在輸出獲得了一個字典(鍵值對)了——存在這樣的四對鍵值對:error_code,reason,instr 和 outstr,分別對應了錯誤代碼,錯誤原因,輸入文字和輸入文字。為了獲取到 outstr,添加一個步驟 Get Dictionary Value,在 Key 那一欄填寫 outstr 即可。
至此這個工作流就完成了。
您可以即刻點擊下載 Simplification 工作流,如果想要看看如何改良這個工作流,請繼續觀看。
讓這個小程序做的更好
提出兩個可供改進的點,有興趣您可以進行嘗試。
-
現在的工作流將輸出結果展示在了備忘錄中,可是繁體原文還在原來的地方并且被擋住了,如果在最后創建的備忘錄中也將原文加入就好了。根據最后得到的 Text,再利用 text 變量,將兩段 Text 文字合并即可。得到的效果如下。
-
根據 API 提供的功能可知,不光可以實現繁體轉換簡體,也可以簡體轉換為繁體,甚至可以實現火星文與繁簡體的相互轉換,所要做的事情只是修改 URL 中 type 等號后面的一個參數而已(0代表簡體,1代表繁體,2代表火星文)。如果有需要,甚至可以在小程序中添加一個問題——您想要將文字轉換為哪種類型?然后提供幾個選項即可。