美文网首页
ICloud 应用实例(一)

ICloud 应用实例(一)

作者: youngZhou | 来源:发表于2017-02-04 16:51 被阅读274次

    先说说APP的大体情况,已经发布过了,没有远程服务器,所以想考虑使用ICloud作为辅助存储的手段.下面是实施步骤(图片取自developer.apple.com),前提必须要注册iCloud账号

    第一,几个概念解析

    1,iCloud是apple退出的云存储服务,需要在app id中将相关的选项勾选上,如下图

    2,iCloud 的容器(Containers)

     1)iCloud数据都保存在容器内.

    2)容器只属于单一的开发者,并可在单一开发者的多个app间共享.

    3)同一个app可使用多个容器

    4)每个app都有默认的容器,可以自己创建,默认容器的标识符(identifier)跟app的bundle ID匹配,用户创建的容器需配置唯一标识符

    3,iCloud的数据库(Databases)

    1)分为公共数据库和私有数据库

    2)所有用户可以读取公共数据库的内容,但是写入数据库需要获得云凭证(enter iCloud credentials)

    3)私有库针对只针对当前用户,写入和读取私有库数据也需要获得云凭证(enter iCloud credentials)

    第二,项目中启用iCloud

    1,获得APP签名

    2,启用云并选择CloudKit

    3,进入CloudKit 控制台,在Capabilities中点击CloudKit Dashboard进入.

    第三,多个APP共享容器

    1,一个app可使用多个容器,也可在多个app之间共享同一个容器

    给app添加容器,在Capabilities选中中点击选中Specify custom containers.

    2,创建自定义容器

    点击(+)按钮增加一个新容器并给出容器ID(注意:容器ID是不能删除的!),容器ID以iCloud开头。 后跟一个反向DNS符号的字符串。

    第四,保存记录(Records),创建数据架构

    1,导入kit #import <CloudKit/CloudKit.h>

    2,记录(Records)类型包含名称、域、和其他元数据,对应如下表

    3,代码创建记录(Records)

    创建record ID

    CKRecordID *artworkRecordID = [[CKRecordID alloc] initWithRecordName:@"115"];

    创建record实例

    CKRecord *artworkRecord = [[CKRecord alloc] initWithRecordType:@"Artwork" recordID:artworkRecordID];

    给实例赋值

    artworkRecord[@"title" ] = @"MacKerricher State Park";

    artworkRecord[@"artist"] = @"Mei Chen";

    artworkRecord[@"address"] = @"Fort Bragg, CA";

    4,保存记录(Save Records)

    获取公共数据库

    CKContainer *myContainer = [CKContainer defaultContainer];

    CKDatabase *publicDatabase = [myContainer publicCloudDatabase];

    获取私有数据库

    CKContainer *myContainer = [CKContainer defaultContainer];

    CKDatabase *privateDatabase = [myContainer privateCloudDatabase];

    获取自定义容器

    CKContainer *myContainer = [CKContainer containerWithIdentifier:@"iCloud.com.example.ajohnson.GalleryShared"];

    保存记录

    [publicDatabase saveRecord:artworkRecord completionHandler:^(CKRecord *artworkRecord, NSError *error){

    if (error) {

    // Insert error handling

    return

    }

    // Insert successfully saved record code

    }];

    五、获取iCloud凭证

    1,Xcode > Open Developer Tool > iOS Simulator>Hardware > Home>iCloud

    2,输入apple ID和密码,并登陆

    3,打开iCloud Drive开关

    4,提示用户获取iCloud 凭证

    5,默认情况下,使用即时模式创建的记录类型的所有元数据索引都被禁用。 需要启用记录ID查询索引才能在CloudKit仪表板中查看关联的记录。

    相关文章

      网友评论

          本文标题:ICloud 应用实例(一)

          本文链接:https://www.haomeiwen.com/subject/rgsjittx.html