您的位置:首页 > 移动开发

[iCloud]iCloud学习笔记--APP内启用iCloud及CloudKit Dashboard介绍

2016-05-25 14:01 459 查看
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
DATA
PRIVATE 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使用,稍后推出...
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息