[iCloud]iCloud學習筆記--APP內啓用iCloud及CloudKit Dashboard介紹

CloudKit是蘋果最新推出的基於iCloud的一個雲端數據存儲服務.其主要由下面兩部分組成:

1. 一個儀表web頁面,用於管理公開數據的記錄類型.

2. 一組API接口,用於iCloud和設備之間的數據傳遞.

由於筆者也是初步接觸iCloud雲存儲數據,花了一些時間學習了一下,網上能參考的資料不多,很多地方有理解不透徹,或者不對的,還請包涵!如果你有更好的參考文檔或者博客介紹,還請留言告知,不勝感激!!!

這篇文章主要介紹第一個知識點,在Xcode中開啓iCloud雲服務,和儀表web頁面的一些介紹及操作...


一.  Xcode啓用iCloud

首先,新建項目後,要確保你的Apple ID是一個有效的開發者賬號;並在General -->Identity 下的Team選項,選擇你的開發者賬號,必須是有效的開發者賬號才能啓用iCloud服務,並確保你的Bundle Identifier是唯一的;

然後,設置權限和容器,選擇Capabilities-->啓用iCloud,如下圖所示:




如果之前沒有選擇開發者賬號的話,這時,可能需要你登陸開發者賬號;

最後,勾選CloudKit,這時Containers下的選項就可點了,選擇Use default container:




如果有錯誤提示,一般點擊Fix issue 之後,Xcode會幫我們修復;


二. 關於 CloudKit Dashboard

1. 點擊上圖中的 CloudKit Dashboard,或者這裏,可以進入網頁的儀表盤的主界面:



2. 下面,介紹一下這個界面:

SCHEMA :

CloudKit容器的高級類:Record Types, Security Roles, 和Subscription Types,其中主要使用的是Record Types;

一個Record Type用來定義一個單獨的記錄(可以理解爲一個數據模型),相當於存儲數據的模板,和數據庫的表結構類似;


PUBLIC DATAPRIVATE DATA 就是你保存數據的地方,開發者可以查看所有的共享數據,但是隻能看到自己的私密數據,無法看到用戶的私密數據;這裏沒有顯示PRIBATE DATA,其結果和PUBLIC DATA是一樣的;

User Records: 記錄一些當前使用者的信息;

Default Zone :這裏可以查看數據的詳細信息,也是後面主要使用的;


ADMIN: 

Team :主要是管理開發者團隊權限的,這裏不做過多介紹;

API Access : 主要是用來添加一些授權信息,例如:創建 API Token .添加 Server-to-Server Key等;

Deployment :配置開發環境,就是設置當前是開發環境,還是生產環境;如果當前是開發環境,可以重置開發環境的數據及設置,也可以切換到生產環境;


3. 手動添加Record Type :

這個數據模型可以在這裏手動設置,也可使用程序保存到iCloud時自動生成,程序中設置了哪些屬性,這裏就會顯示哪些;

下面介紹一下手動設置:

切回Record Type選項,點擊右邊欄的左上角的+,新增一個模型:


輸入模型名稱: 默認只有一個StringField的屬性(這裏暫且這麼稱呼吧),可以點擊下面的Add Field... 新增屬性列表;

同樣可以選擇屬性的類型,如下圖:



設置完成後,點擊右下角的 Save按鈕即可保存!這樣,一個模型就建立好了...

4. 添加一條數據:

切換回PUBLIC DATA 選項下的 Default Zone ,可能是這樣的:



點擊 Add Record ID Query Index ,會顯示如下界面:


這是一個空的存儲器,還沒有保存任何數據;

點擊右邊欄左上角的+ ,或者右邊欄中間的New Record ,即可新建一條數據;

這時會發現,其數據結構和剛剛創建的模型一致,填寫相應的數據即可:




然後,點擊右下角的保存,即可生成一條記錄:


然,生成之後的記錄,也是可以修改的...


數據模型(即Record Type)可能會不止一種,本示例中我設置了兩種,一個名稱爲test,一個名稱爲Note,切換回Record Type可查看另一個模型:



那麼,怎麼知道Default Zone裏選擇的是哪個模型呢?

回到Default Zone,中間藍色區域的右上角的名稱旁有個倒三角,這裏可以選擇使用(查詢)哪個模型下的數據:


這裏只有兩個模型...


細心的會發現,在Record Type中的Note模型下有一行小字:1 Public Record ,1 Private Record,意思是:使用模型Note的有一條公共數據,一條隱私數據,由於我登陸的iCloud賬號和開發者賬號不一樣,相當於是用戶賬號,所以這裏是看不到那個隱私數據的.

5. Creating an API Token 

選擇左側ADMIN分組下的API Access;

中間一列頂部的下拉列表選擇API Tokens (還有一個是Server-to-Server Keys);

點擊右邊列左上角的+,或者Add API Token;

爲你的Token起一個名字:


Sign In Callback :(可選的)指定一個回調方式:發送信息或者回調一個自定義網址;

Allowed Origins :(可選的)設置允許的域名

Discoverability :(可選)是否可見

Notes :(可選) 描述

以上信息填寫完成後,點擊右下角Save即可;這些信息創建完成後,也是可以修改的...

6. Creating Server-to-Server Key

首先,需要生成一個Server-toServer Certificate:

打開終端

執行指令之前最好先cd到一個你方便找到的目錄(例如:桌面上的一個文件夾)

輸入以下指令:

openssl ecparam -name prime256v1 -genkey -noout -out eckey.pem

這樣就生成一個名爲eckey.pem的證書,打開文件夾可以查看;

接着輸入以下指令,獲取Public Key:

openssl ec -in eckey.pem -pubout

這時終端內會出現如下信息:

read EC key
writing EC key
-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEpS3JYi6T4tsMYXpNW7PCuggasB3e
SCdmOcdbzOYAvJJom+99W783MNLlSYKduMmYUi46TnaPpamDDiD8NCsFpQ==
-----END PUBLIC KEY-----

這個就是Public Key,複製出來,待用;

最後,回到CloudKit Dashboard:

選擇API Access-->Server-to-Server Keys;

點擊+,或者 Add Server-to-Server Key,新建一個key:



Public Key:這裏輸入剛剛複製的public Key;

Notes : 描述

點擊右下角的Save,即可完成...

這些操作都比較簡單,在我們後面使用代碼保存數據到iCloud時可以在這裏查看保存的信息詳情,當前只能查看公共的;

相關API使用,稍後推出...

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章