iOS SwiftUI云存储之CloudKit是什么如何用

2022-04-12 00:00:00 记录 应用程序 容器 访问 您的

iCloud帐户
iCloud帐户是CloudKit的骨干。除了浏览公共数据(稍后将进行讨论)外,您所做的任何事情都需要登录帐户。这给我们带来的好处是无需开发我们自己的身份验证层即可访问数亿用户。此外,iCloud帐户和CloudKit可以无缝地一起工作,因此,如果终用户已经登录到其iCloud帐户,则不会要求他们登录到该应用程序。他们可以开始使用它并创建记录。

Containers
与大多数Apple技术一样,CloudKit围绕Containers的概念发展。Containers容器为应用程序的标识提供了一种方法。使用CloudKit,您始终拥有一个默认Containers容器;此外,您的应用可以访问您有权访问的其他容器。能够访问其他容器使应用程序之间可以共享数据。默认容器是
与包标识符相同。重要的是要记住,一旦有了CloudKit容器
创建后就无法删除,因此请确保您的捆绑包标识符是您计划使用的标识符。容器在所有开发人员中必须。学习CloudKit时的一个好习惯是选择一个将用于所有测试应用程序的标识符。然后,每当您想要使用该标识符创建新应用时,都可以通过CloudKit仪表板重置开发环境。 (我们将在稍后介绍。)
将容器视为只有您的应用可以访问的沙箱。每个使用CloudKit的应用程序都有自己的沙箱。这样可以防止应用覆盖彼此的数据,并确保您的数据安全并确保其他开发人员永远无法访问它们。
容器作为CKContainer公开:

let container = CKContainer.defaultContainer()
Database
CloudKit为我们提供了对两个不同数据库的访问权,每个客户端应用程序都可以访问的公共数据库,以及仅用于访问CloudKit的帐户可以访问的私有数据库。重要的是要记住,我们作为开发人员无法访问终用户的私有数据库。公共数据库资源成本由开发人员的支付,而私有数据库资源成本与由用户的支付。
对于公共类应用程序,我们会将数据存储在公共数据库中,以便其他用户可以查看它。

数据库公开为CKDatabase。您可以通过CKContainer访问数据库:


您可以在CloudKit仪表板中为公共数据库创建访问角色和权限。

Records
记录
CKRecord是包装键-值对的结构数据,其中每个值都有一个记录类型。开发人员模式下的记录使用即时模式。当您进入生产环境时,数据不会被用作即时数据。这意味着在开发应用程序时,您可以根据需要任意更改数据结构。但是,一旦您的应用程序移至生产数据库中,您将无法再更改数据结构。
支持的记录类型为NSString,NSNumber,NSData,NSDate,CLLocation,CKReference,CKAsset;记录也可以是数组,而不是单个记录类型:


Record Zones
记录在记录区域内分组。可以有多个记录区。每个容器都有一个默认的记录区。

Record Identifiers
CKRecordID包含recordName和CKRecordZoneID。如果您不提供CKRecordZoneID,则默认记录区将被使用。如果您不提供recordName,则会为您创建一个默认名称。

References
CKReference允许您将CKRecord相互关联。创建引用时,应使用反向引用。

Assets
CKAsets用于存储大文件,例如图像或视频,并存储为大容量存储。 CloudKit会为您有效地上传和下载资产。资产由CKRecords拥有,并作为磁盘上的文件传输。
————————————————
版权声明:本文为CSDN博主「知识大胖」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/iCloudEnd/article/details/106399312


————————————————

原文链接:https://blog.csdn.net/iCloudEnd/article/details/106399312


相关文章