[iCloud]项目内启用iCloud及CloudKit Das
CloudKit是苹果最新推出的基于iCloud的一个云端数据存储服务.其 主要由下面两部分组成:
- 一个仪表web页面,用于管理公开数据的记录类型.
- 一组API接口,用于iCloud和设备之间的数据传递.
由于笔者也是初步接触iCloud云存储数据,花了一些时间学习了一下,网上能参考的资料不多,很多地方有理解不透彻,或者不对的,还请包涵!如果你有更好的参考文档或者博客介绍,还请留言告知,不胜感激!!!
这篇文章主要介绍第一个知识点,在Xcode中开启iCloud云服务,和仪表web页面的一些介绍及操作...
一. Xcode启用iCloud
首先,新建项目后,要确保你的Apple ID是一个有效的开发者账号;并在General -->Identity
下的Team选项,选择你的开发者账号,这里的开发者账号,必须是有效的开发者账号,并确保你的Bundle Identifier
是唯一的;
然后,设置权限和容器,选择Capabilities-->启用iCloud,如下图所示:
如果之前没有选择开发者账号的话,这时,可能需要你登陆开发者账号;
最后,勾选CloudKit
,这时Containers
下的选项就可点了,选择Use default container
:
如果有错误提示,一般点击Fix issue
之后,Xcode会帮我们修复;
这样Xcode里面就设置好了...
注意: 这里的开发者账号要有相应的证书,而且证书的Apple ID中启用了iCloud:
appleid启用iCloud
如果,已有id, 可以点击Edit进行启用.
二. CloudKit Dashboard简介
- 点击上图中的
CloudKit Dashboard
,可以进入网页的仪表盘的主界面:
下面,介绍一下这个界面:
-
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 主要是管理开发者团队权限的,这里不做过多介绍;
2.添加Record Type :
这个数据模型可以在这里手动设置,也可在程序保存数据到iCloud时自动生成,程序中设置了哪些属性,这里就会显示哪些;
- 下面介绍一下手动设置:
切回Record Type选项,点击右边栏的左上角的 "+ ",新增一个模型:
添加Record Type输入模型名称: 默认只有一个StringField的属性(这里暂且这么称呼吧),可以点击下面的Add Field... 新增属性列表;
同样可以选择属性的类型,如下图:
Add Field设置完成后,点击右下角的 Save按钮即可保存!这样,一个模型就建立好了...
3.添加一条数据:
切换回PUBLIC DATA 选项下的 Default Zone ,可能是这样的:
点击 Add Record ID Query Index 后,会变为如下界面:
这是一个空的存储器,还没有保存任何数据;
点击右边栏左上角的"+" ,或者右边栏中间的New Record ,即可新建一条数据;
这时会发现,其数据结构和刚刚创建的模型一致,填写相应的数据即可:
然后,点击右下角的保存,即可生成一条记录;当然,生成之后的记录,也是可以编辑的...
另外,数据模型(即Record Type)可能会不止一种,本示例中我设置了两种,一个名称为test,一个名称为Note,切换回Record Type可查看另一个模型:
Note那么,怎么知道Default Zone里选择的是哪个模型呢?
回到Default Zone,中间蓝色区域的右上角的名称旁有个倒三角,这里可以选择使用(查询)哪个模型下的数据:
这里只有两个模型...
细心的会发现,在Record Type中的Note模型下有一行小字:1 Public Record ,1 Private Record,意思是:使用模型Note的有一条公共数据,一条隐私数据,由于我登陆的iCloud账号和开发者账号不一样,相当于是用户账号,所以这里是看不到那个隐私数据的.
这些操作都比较简单,在我们后面使用代码保存数据到iCloud时可以在这里查看保存的信息详情,当前只能查看公共的;
相关API的使用,请参考[iCloud]CloudKit简单使用.