如何在 iOS 主螢幕上新增檔案快捷方式
檔案操作是 iOS 長久以來讓人感到「彆扭」的功能弱項。究其原因,很大程度上是 iOS 的檔案操作邏輯與桌面系統截然不同:同樣是開啟一個文件,在桌面端,第一步通常是在檔案管理器中找到文件本身,然後再考慮用什麼程式開啟它;而到了 iOS 上,操作順序則完全相反——先是開啟應用,然後才是找到需要的文件。
這種操作邏輯是 iOS「沙盒」機制的產物。在早期版本的 iOS 中,應用的讀寫許可權被嚴格限制在其特定的文件目錄內,因此開啟應用就成了任何檔案操作的必經步驟。較新版本的 iOS 略微放鬆了限制,允許應用讀寫 iCloud Drive、並通過 ofollow,noindex" target="_blank">Document Provider 擴充套件 相互訪問文件,但仍然沒有從根本上改變 iOS 的檔案操作邏輯。觀察 iOS 的「檔案」應用的呈現方式,會發現每個應用仍然被賦予了一個獨立的資料夾,並且和使用者建立的其他資料夾是平級的。這體現的還是一種 以應用為中心 的思路。
問題在於, 我們的工作很多時候不是以應用為起點,而是以專案為起點的。 試想你正在撰寫一篇文章或者複習一門課程——執行一個「專案」。在電腦上,我們會很自然地為這個專案建立一個資料夾,把相關檔案都放入其中。工作時開啟這個資料夾,就能很方便地隨手調取各個檔案。然而,這種順理成章的操作在 iOS 上並沒有對應的實現方式。即使相關檔案都存放在同一個資料夾內,你仍然需要分頭在各個應用中開啟它們。且不論低下的效率,這也是對思路和注意力不必要的干擾。
能不能在 iOS 現有的框架內提高訪問檔案的效率呢?不妨考慮把主螢幕的空間利用起來。儘管 iOS 裝置越做越大,它們的主螢幕卻仍然只是個應用啟動器,未免顯得過於浪費。如果能把經常訪問的檔案放在主螢幕上,點選即可開啟,就能省下很多開啟應用—尋找檔案的繁瑣步驟;不僅如此,還可以像整理圖示一樣,將同屬一個專案的檔案放進一個資料夾裡,從而在很大程度上模擬我們在電腦上的操作習慣。

在上圖所示的效果中,我們將一個 iCloud Drive 中的 Numbers 表格檔案放到了主螢幕上,並使其顯示為 Numbers 應用的圖示。可以看到,點按圖示後,系統直接跳轉到 Numbers 應用並打開了這個表格檔案。
實現這樣的效果需要解決兩個問題:第一,如何讓 iOS 直接跳轉到特定檔案;第二,如何在主螢幕上建立能跳轉到檔案的自定義圖示。下面我們依次解決這兩個問題。
第一步:獲取檔案連結
( 注: 下述步驟的前提條件是文件存放在 iCloud Drive 中,因此請先確保 啟用 了這一功能。對於 macOS/iOS 跨平臺使用而言,最好還能 開啟 macOS 上的同步「桌面」和「文稿」資料夾功能 ,以獲得更方便的效果。)
熟悉 DEVONthink、Keep It 等檔案管理工具的讀者知道,它們儲存的每個檔案都有一個特定的 URL scheme,訪問即可直接跳轉到應用並定位到檔案。iOS 並沒有提供這樣的功能,但相同的效果可以通過 iCloud 的檔案共享功能實現。原理是:儲存在 iCloud Drive 中的檔案都可以通過連結的形式共享。這種連結在外觀上是一個普通網址,但如果當前裝置登入的 Apple ID 是分享者本人,訪問連結的效果將是直接顯示檔案、甚至自動在關聯的應用中開啟。
在 iOS 上,獲取 iCloud 檔案連結的步驟是:
-
開啟「檔案」應用,長按需要獲取連結的檔案並選擇「分享」。
-
在分享選單中依次選擇「新增使用者」—「複製連結」,並在彈出的視窗中再次點按「複製連結」。(由於並沒有在這一步為其他 Apple ID 新增許可權,即使其他人獲得連結,也不能訪問檔案。)

這樣,就獲得了形如 https://www.icloud.com/iclouddrive/hashedFileToken#FILENAME
的連結。試著將這個連結貼上到 Safari 位址列並訪問,可以發現系統直接跳轉到了關聯的應用並打開了檔案。
不過,並不是所有檔案都能獲得最理想的跳轉效果;能直接進入應用的主要是蘋果第一方的格式。對於其他格式的檔案,iOS 不會在開啟連結時直接跳轉到關聯應用,而只能跳轉到「檔案」應用並顯示預覽。此時,可以點按右上角的分享選單,並選擇「在【應用名稱】中開啟」,對檔案的操作仍然會直接反映在 iCloud 中的原始檔案上。(注意與名稱中含有「拷貝到」的選項區分,後者的效果是開啟檔案的副本。)

第二步:新增桌面圖示
獲取了直接開啟檔案的連結後,剩下的問題就是如何將其新增為桌面圖示。具體實現方法有很多種,其中最簡單的思路就是建立一個包含「開啟 URL」動作的捷徑,然後將其新增到主螢幕。但這種做法的自定義空間很小,而且每次開啟都要經過捷徑應用的跳轉,也顯得不夠美觀。要儘可能接近電腦上的操作體驗,建立的圖示最好能反映檔案型別,並且跳轉過程應當儘量無縫。
好在,已經有人替我們造好了輪子。上週,MacStories 的 Federico Viticci 釋出 了自己花費很長時間製作的一個捷徑,其功能正是將任意 URL 新增為桌面圖示。這個捷徑的細節頗為考究,例如新增過程中可以搜尋 App Store 並抓取特定應用的圖示,利用了 iOS 新近支援的 PWA 特性,使生成的圖示在點開時能以全屏顯示一個美觀的啟動畫面等。
借用 Viticci 的思路,我改制了一個將 iCloud Drive 中文件新增到桌面、並顯示為對應應用圖示的捷徑( 下載 )。其使用步驟是:
-
捷徑執行後,會彈出一個檔案選擇視窗。在這個視窗中找到所需檔案,然後用前文所述的步驟將其 iCloud 連結複製到剪貼簿中。完成後,再次點按這個檔案來確認選擇。
-
如果選擇的檔案屬於常用格式,捷徑會自動提示應用名稱,直接點按「確定」即可。如果捷徑沒有正確判斷出應用,或者想使用其他應用的圖示作為檔案圖示,也可以自行輸入所需的應用名稱。在彈出的選單中確認要使用的圖示。
-
捷徑會跳轉到 Safari 並顯示一個指引介面。點按「分享」按鈕,從選單中選擇「新增到主螢幕」,然後點按「新增」即可。

關於這一捷徑的實現原理,我建議直接閱讀 Federico Viticci 的原文來了解。這裡只簡單說明與本文目的有關的兩處要點:
-
捷徑中本身包括一個名為「獲取 iCloud 檔案連結」的動作。但這個動作獲取的連結與本文所述方法得到的結果不同,其訪問效果是下載檔案而非跳轉到檔案,因此只能繼續使用上述較為曲折的方法。
-
要實現根據字尾名自動提示應用名稱的功能,涉及到如何在捷徑中進行分支判斷。然而,捷徑並不支援程式語言中常見的分支語句
case
,而只有一個最簡單的if
判斷。但在分支較多時,如果用if
判斷,就只能不停巢狀,製作和編輯起來都很繁瑣。解決方法是利用詞典(Dictionary)動作,即建立一個以「字尾名—應用名」為鍵—值對的詞典,後接一個「獲取詞典值」動作即可獲得特定字尾名對應的應用名稱。

如上所述,你可以繼續將常用檔案的圖示都新增到主螢幕上,並根據它們所屬的專案、利用資料夾進行歸組。

當然,本文介紹的思路並不侷限於建立檔案圖示,而是可以有許多擴充套件,例如將與專案有關的筆記條目也新增到主螢幕上。系統自帶的「備忘錄」應用同樣可以通過「新增使用者」命令獲取具有跳轉功能的共享連結;Evernote 使用者則可以使用捷徑應用中的「獲取 Evernote 連結」動作。

>下載少數派客戶端、關注少數派公眾號,更多 iOS 技巧等你來學 :iphone: