- 1、本文档共20页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
iOS iCloud入门
github地址: iCloud入门
前言
iCloud是Apple公司提供的云端服务,可以非常方便地让用户免费使用云端的5GB空间存储资料,如果用户愿意,还可以花钱升级到更大的云端存储空间,这些云端存储空间可用于备份用户的个人数据(如通讯录、备忘录、邮件、照片、音乐、视频等),也可以用于备份用户的应用数据。即使用户更换手机,也可以非常方便地将备份在云端的数据重新恢复到新的手机上。
我之前是不会用iCloud的,现在觉得是真的方便啊。
正文
1.iCloud入门
1.1为应用开启iCloud服务
我们需要完成如下4件事情:
1.创建iCloud的容器,要求名字和id是唯一的。?iCloud容器名必须是唯一的,因为这是Cloudkit用来访问数据所使用的全局标识符。
为了让entitlements起作用,需要在App的证书、标识符与配置文件中ID的部分列出app/bundle id。这意味着标识的证书使用了设置的team id与app id,从中可得到iCloud容器的id。若已经在一个可用的开发者账号中标识了的话Xcode会自动完成这一切。不巧的是,这有时是不同步的,需要更新ID-使用iCloud功能面板修改CloudKit容器ID。否则的话需要修改info.plist文件或.entitlements文件来确保id values与所设置的bundle id一致。
还有个血与泪的教训啊!创建了之后就删不掉了···希望大家谨慎操作···
2.创建支持iCloud的Apple ID,并关联上相应的iCloud容器。
完成后Edit
关联容器
3.创建、下载并安装支持iCloud的App对应的provisioning Profile,这个工作需要通过Apple 网站完成。
4.在Xcode中配置相关设置,成功后启用应用的iCloud服务。
这样我们就为项目增加了一个entitlements文件。该文件就是该项目的iCloud配置文件。
经过上面步骤,我们就完成了为应用增加iCloud支持。
我们双击打开该文件,即可看到如下图。
1.2设置iCloud的数据
要进入CloudKit Dashboard操作有两种方式,第一种如上面第一点所说可以直接点CloudKit Dashboard进入,
另一种就是进入苹果账号后台也有一个相应的菜单;
点进进入之后:
再点击容器进入之后:
选择data进入之后:
其中CloudKit容器的高级类:Record Types, Security Roles, 和Subscription Types,其中主要使用的是Record Types;
一个Record Type用来定义一个单独的记录(可以理解为一个数据模型),相当于存储数据的模板,和数据库的表结构类似;
下图是我用代码,在容器里创建了一个RecordType为User的Records,其中属性为name和password,我在public data中存储了两条数据。
下面我在public中找到User的Record Type然后查询recordName = 1的数据信息。
1.3代码操作iCloud功能
1:首先引入CloudKit.framework系统框架,并引入命名空间#import CloudKit/CloudKit.h?就可以进行操作
2:首先是判断手机中的iCloud功能是否开启,如下面如果有值则表示已经开启的iCloud功能;
id?cloudUrl=[[NSFileManager?defaultManager]?URLForUbiquityContainerIdentifier:nil];??
//判断手机中的iCloud功能是否开启??
id?cloudUrl?=?[[NSFileManager?defaultManager]?URLForUbiquityContainerIdentifier:nil];??
if?(cloudUrl?==?nil)?{??
NSLog(@iCloud没有开启);??
}?else?{??
NSLog(@iCloud开启);??
}??
这个方法接受一个参数, 就是要获取的容器标识。 所谓容器标识, 大多数应用只会用到一个 iCloud 容器,所以我们这里传入 nil, 就代表默认获取第一个可用的容器。这个方法内部会查找当前应用拥有的 iCloud 容器, 如果找到就会返回这个容器的 URL, 证明当前应用的 iCloud 容器可用。 如果找不到,就会返回 nil, 证明当前应用的 iCloud 不可用。
注意:?iCloud 容器和你 App 文件沙盒, 在 iOS 文件系统中其实是分别存放在两个不同的地方的:
iCloud 文件路径格式
file:///priv
您可能关注的文档
- 移动互联工程实训-2017 首页功能重构 单元教教学设计- 首页功能重构.doc
- 移动互联软件测试-2017 DataTable实现脚本参数化 DataTable实现脚本参数化-说课稿.docx
- 移动互联软件测试-2017 QuickTestProfessional介绍 QTP介绍-说课稿.docx
- 移动互联软件测试-2017 spy组件的使用 Spy组件的使用-说课稿.docx
- 移动互联软件测试-2017 测试对象模型 测试对象模型-说课稿.docx
- 移动互联软件测试-2017 测试用例属性 测试用例的执行顺序.docx
- 移动互联软件测试-2017 测试总结主要内容 测试总结报告的内容.docx
- 移动互联软件测试-2017 错误猜测法 错误推测法-说课稿.docx
- 移动互联软件测试-2017 分支覆盖法 分支覆盖法-说课稿.docx
- 移动互联软件测试-2017 分支条件覆盖法 分支条件覆盖法-说课稿.docx
- 移动应用软件开发综合实训(基于iOS平台)-2017 iOS设备调试 ios苹果开发者账号申请流程.docx
- 移动应用软件开发综合实训(基于iOS平台)-2017 iOS设备调试 iOS设备调试—编译应用.docx
- 移动应用软件开发综合实训(基于iOS平台)-2017 Quart2D绘图 Quartz 2D 绘图基础.docx
- 移动应用软件开发综合实训(基于iOS平台)-2017 Runloop基本使用 iOS多线程--彻底学会多线程之『RunLoop』.docx
- 移动应用软件开发综合实训(基于iOS平台)-2017 UIPopoverController控制器使用(iPad) iPad 控件UIPopoverController使用.docx
- 移动应用软件开发综合实训(基于iOS平台)-2017 UIPresentationController控制器使用 iOS 8的PresentationController.docx
- 移动应用软件开发综合实训(基于iOS平台)-2017 Xcode单元测试 iOS 单元测试.docx
- 移动应用软件开发综合实训(基于iOS平台)-2017 xib及storyboard文件的国际化 iOS国际化.docx
- 移动应用软件开发综合实训(基于iOS平台)-2017 百度地图定位与导航 iOS开发之百度地图导航.docx
- 移动应用软件开发综合实训(基于iOS平台)-2017 动态字体 如何在Swift中运用Text Kit框架.docx
文档评论(0)