關閉廣告

在砍伐初代 iPhone 的複雜森林時,許多晶片都掉落了。以革命性手機的簡化和易用性為名,蘋果將作業系統的某些方面削減到了最低限度。一個想法是擺脫傳統的文件管理。

眾所周知,史蒂夫·賈伯斯討厭桌上型電腦上的檔案系統,他發現普通用戶複雜且難以掌握。文件埋在一堆子資料夾中,需要維護以避免混亂,這一切不應該毒害健康的iPhone OS系統,而原始iPhone上唯一需要的管理就是透過iTunes來同步多媒體文件,或者係統有一個統一的照片庫,可以從中上傳圖像或將它們保存到其中。

穿越使用者痛苦的旅程

隨著第三方應用程式的出現,沙盒模型顯然是不夠的,它可以確保系統及其內部文件的安全,其中文件只能由儲存它們的應用程式存取。因此,我們收到了幾種處理文件的選項。我們可以透過 iTunes 將它們從應用程式獲取到計算機,「開啟方式...」選單可以將檔案複製到支援其格式的另一個應用程序,iCloud 中的文件可以同步來自同一應用程式的檔案。跨Apple平台的應用程序,儘管以一種相當不透明的方式。

簡化複雜文件系統的最初想法最終適得其反,不利於蘋果,最重要的是不利於用戶。在多個應用程式之間處理文件會造成混亂,其核心是跨應用程式存在大量相同文件的副本,而無法概覽給定文件或其他文件的實際情況。相反,開發人員開始轉向雲端儲存及其 SDK。

隨著 Dropbox 和其他服務的實施,使用者能夠從任何應用程式存取相同的檔案、編輯它們並保存更改,而無需製作副本。該解決方案使文件管理變得更加容易,但還遠遠不夠理想。實現文件儲存對開發人員來說意味著大量工作,他們必須弄清楚應用程式如何處理同步並防止文件損壞,並且永遠不能保證您的應用程式將支援您正在使用的儲存。在雲端中處理檔案有另一個限制——裝置必須始終在線,且檔案不能僅儲存在本機上。

距離iPhone OS 第一版(今天的iOS)問世已經七年了,蘋果終於拿出了最終的解決方案,它放棄了基於應用程式的檔案管理的最初想法,而是提供了經典的檔案結構,儘管很巧妙處理。向 iCloud Drive 和文件選擇器問好。

iCloud的驅動器

iCloud Drive並不是蘋果的第一個雲端存儲,它的前身是iDisk,它是MobileMe的一部分。該服務更名為 iCloud 後,其理念發生了部分改變。 iCloud 不是 Dropbox 或 SkyDrive(現在的 OneDrive)的競爭對手,它應該是一個專門用於同步的服務包,而不是一個單獨的儲存空間。蘋果一直在抵制這個理念,直到今年它終於推出了 iCloud Drive。

iCloud Drive 本身與 Dropbox 和其他類似服務沒有什麼不同。在桌面(Mac 和 Windows)上,它代表一個不斷更新並與雲端版本同步的特殊資料夾。正如 iOS 8 第三個測試版所揭示的那樣,iCloud Drive 也將擁有自己的 Web 介面,可能位於 iCloud.com 上。但是,它在行動裝置上沒有專用客戶端,而是整合到組件內的應用程式中 文件選取器.

iCloud Drive 的神奇之處不僅在於同步手動新增的文件,還在於包含應用程式與 iCloud 同步的所有文件。每個應用程式在 iCloud Drive 中都有自己的資料夾,並標有圖示以便更好地定位,並且其中有單獨的檔案。您可以在雲端的相應資料夾中找到Pages文檔,這同樣適用於第三方應用程式。同樣,同步到 iCloud 但在 iOS 上沒有對應項目(預覽、文字編輯)的 Mac 應用程式在 iCloud Drive 中有自己的資料夾,任何應用程式都可以存取它們。

目前尚不清楚 iCloud Drive 是否會具有像 Dropbox 一樣的附加功能,例如文件連結共享或多用戶共享資料夾,但我們可能會在秋季找到答案。

文件選取器

文件選擇器元件是 iOS 8 中處理文件不可或缺的一部分。透過它,Apple 將 iCloud Drive 整合到任何應用程式中,並允許您在自己的沙箱之外開啟文件。

文件選擇器的工作方式與圖像選擇器類似,它是一個窗口,用戶可以在其中選擇要打開或導入的單個文件。它實際上是一個非常簡化的文件管理器,具有經典的樹狀結構。根目錄將與主 iCloud Drive 資料夾相同,不同之處在於還會有包含應用程式資料的本機資料夾。

第三方應用程式的檔案不一定要同步到iCloud Drive,而文件選取器可以在本地存取它們。但是,資料可用性並不適用於所有應用程序,開發人員必須明確允許存取並將應用程式中的 Documents 資料夾標記為公共。如果這樣做,則該應用程式的使用者檔案將可供使用文件選擇器的所有其他應用程式使用,而無需 iCloud Drive 的網路連線。

使用者將有四個處理文件的基本操作—開啟、移動、匯入和匯出。當第二對操作將單一文件的副本建立到應用程式自己的容器中時,它或多或少地接管了當前處理文件的方式的功能。例如,使用者可能想要編輯圖像以使其保持原始形式,因此他們選擇導入,而不是打開它,這會在應用程式的資料夾中複製檔案。導出是或多或少眾所周知的“打開於...”功能。

然而,第一對更有趣。開啟文件完全符合您對此類操作的期望。第三方應用程式將從另一個位置開啟該文件,而無需複製或移動該文件,並且可以繼續使用該文件。然後,所有變更都會儲存到原始檔案中,就像在桌面系統上一樣。在這裡,蘋果節省了開發人員的工作,他們不必擔心如何處理同時在多個應用程式或裝置中開啟的文件,否則可能會導致文件損壞。所有協調均由系統與CloudKit一起負責,開發人員只需在應用程式中實現相關API即可。

然後,移動檔案操作可以簡單地將項目從一個應用程式資料夾移動到另一個應用程式資料夾。因此,如果您想使用一個應用程式來管理設備上本地儲存的所有文件,文件移動器可以讓您做到這一點。

對於每個應用程序,開發人員指定它可以處理的文件類型。文件選擇器也適應了這一點,它不會顯示整個 iCloud Drive 和本機應用程式資料夾中的所有文件,而是只顯示應用程式可以開啟的那些類型,這使得搜尋更加容易。此外,文件選擇器還提供文件預覽、清單和矩陣顯示以及搜尋欄位。

第三方雲端儲存

在iOS 8中,iCloud Drive和Document Picker並不是排他性的,相反,第三方雲端儲存供應商將能夠以類似的方式連接到系統。文件選取器將在視窗頂部有一個切換按鈕,使用者可以在其中選擇查看 iCloud Drive 或其他可用儲存。

第三方整合僅需要這些提供者的工作,並且與系統中的其他應用程式擴充類似。在某種程度上,整合意味著支援 iOS 8 中的特殊擴展,該擴展將雲端儲存添加到文件選擇器儲存選單的清單中。唯一的條件是存在給定服務的已安裝應用程序,該應用程式透過其擴充功能整合到系統或文件選取器中。

到目前為止,如果開發人員想要整合一些雲端存儲,他們必須透過服務的可用 API 自行添加存儲,但正確處理文件以免損壞文件或丟失資料的責任落在了他們的頭上。對於開發人員來說,正確的實施可能意味著長達數週或數月的開發。有了Document Picker,這項工作現在直接交給雲端儲存供應商,因此開發人員只需要整合Document Picker。

如果他們想透過自己的使用者介面將儲存庫更深入地整合到應用程式中(例如 Markdown 編輯器),則這不太適用。然而,對於大多數其他開發人員來說,這意味著開發的顯著簡化,他們實際上可以一次性整合任何雲端存儲,而無需任何額外的工作。

當然,儲存提供者本身將在很大程度上受益,尤其是那些不太受歡迎的儲存提供者。過去,對應用程式的儲存支援通常僅限於 Dropbox、Google Drive 和其他一些。雲端儲存領域不太受歡迎的參與者實際上沒有機會整合到應用程式中,因為這意味著這些應用程式的開發人員需要承擔不成比例的額外工作,而其好處很難讓提供者信服他們的.

借助 iOS 8,用戶在裝置上安裝的所有雲端儲存都可以整合到系統中,無論它們是大玩家還是鮮為人知的服務。如果您選擇 Dropbox、Google Drive、OneDrive、Box 或 SugarSync,則沒有什麼可以阻止您使用它們進行檔案管理,只要這些提供者相應地更新其應用程式即可。

záver

憑藉 iCloud Drive、Document Picker 以及整合第三方儲存的能力,Apple 在正確、高效的文件管理方面邁出了一大步,這是 iOS 系統最大的弱點之一,開發人員必須解決這個問題。借助 iOS 8,該平台將提供比以往更高的生產力和工作效率,並且擁有眾多熱情的第三方開發人員願意支持這項努力。

儘管由於上述所有原因,iOS 8 為系統帶來了巨大的自由度,但開發人員和使用者仍需要應對一些明顯的限制。例如,iCloud Drive本身沒有自己的應用程序,它僅存在於iOS上的文件選擇器中,這使得在iPhone和iPad上單獨管理文件有點困難。以同樣的方式,例如,不能從郵件應用程式和附加到訊息的任何檔案呼叫文件選取器。

對於開發者來說,iCloud Drive意味著他們的應用程式必須一次從iCloud中的文件切換,因為服務彼此不相容,用戶將失去同步的可能性。但這一切只是蘋果為用戶和開發者提供的可能性的一個很小的代價。 iCloud Drive 和 Document Picker 帶來的好處可能不會在 iOS 8 正式發布後立即顯現出來,但在不久的將來這是一個巨大的承諾。這是我們多年來一直呼籲的。

來源: MacStories, iMore
.