Chapter 24
探索 CloudKit

The most impressive people I know spent their time with their head down getting shit down for a long, long time.

- Sam Altman

我們回顧一下歷史,當史蒂夫.賈伯斯(Steve Jobs )在2011 年蘋果年度世界開發者大會(Worldwide Developers Conference,簡稱 WWDC),公布了 iCloud 作為 iOS 5 與 OS X Lion 的輔助功能時,獲得了很大的關注,但是結果卻不令人驚豔。App 與遊戲可以將資料儲存在雲端,並且會自動在 Mac 與 iOS 裝置間做同步。

但是 iCloud 作為雲端伺服器卻大打折扣。

開發者並不被允許為了分享而使用 iCloud 來儲存公共資料。對於同一位使用者而言, 在多個裝置間分享資訊是受限的。以 FoodPin App 為例,你不能使用 iCloud 的經典版來公開儲存你最喜愛的餐廳,並將其分享給其他的 App 使用者。儲存在 iCloud 上的資料,只有你能夠閱讀。

當你想建立一個社群 App,以便在某時分享資料給其他使用者,則不是使用自己的後台伺服器(加上伺服端 API 作為資料傳輸用、使用者認證等),就是依賴其他如 Firebase 或 Parse 的雲端伺服器供應商所提供的服務。

Note:Parse在那時期非常受到歡迎。但是Facebook在 2016 年 1 月 28 號宣布要終止其服務。

在 2014 年,蘋果公司重新規劃 iCloud 的功能,並提供全新的方式給開發者,以及讓使用者能夠與 iCloud 互動。CloudKit 的推出相對於其前身是很大的改善,而且對開發者有很大的幫助。你可以輕鬆使用 CloudKit 開發社群網路 App,或加上一些社群分享功能。

如果你有一個網頁 App,並想和你的 iOS App 一樣在 iCloud 存取相同的資料呢? Apple 為 CloudKit 進一步導入了 CloudKit 網頁服務或 JavaScript 函式庫的 CloudKit JS。和你的 App 一樣,你可以使用這個新的函式庫來開發一個可以存取 iCloud 上相同資料的網頁 App,如圖 24.1 所示。

圖 24.1. 儲存你的資料至雲端
圖 24.1. 儲存你的資料至雲端

在 2016 WWDC,Apple 宣布導入共享資料庫。除了可以選擇儲存你的資料為公共或私有,CloudKit 現在可以讓你與一群使用者共同儲存或者共享資料。

CloudKit 使開發者的生活更輕鬆寫意了,因為已不需要開發自己的伺服器方案。只需要簡單的設定與少量的程式碼,CloudKit 便能使你的 App 儲存資料至雲端,包括結構式資料(Structured data )與素材。


本文摘自《iOS 17 App程式設計實戰心法》(Swift+UIKit)》一書。如果你想更深入學習Swift程式設計和下載完整程式碼,你可以從 AppCoda網站 購買完整電子版

results matching ""

    No results matching ""