首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Core Data with CloudKit (一) —— 基础

Core Data with CloudKit (一) —— 基础 这是系列文章第一篇,该Core Data with CloudKit系列主要介绍了如何使用CoreData同步CloudKit三种数据库类型...在公共数据库中保存数据可以被任何授权过应用程序调用,即使app使用者没有登录iCloud账户,应用程序仍然可以读取其中内容。...应用程序使用者,可以将部分数据共享给其他同一个app使用者,共享数据将被放置在共享数据库中,共享者可以设置其他用户对于数据读写权限。...该订阅只能用于私有数据库和共享数据库中自定义CKRecordZone,并只会通知订阅创建者。在以后文章中,我们可以看到Core Data with CloudKit如何在私有库中使用订阅。...在下一篇文章中我们将探讨如何使用Core Data with CloudKit实现本地数据库和私有数据库同步。

95530

Ask Apple 2022 中与 Core Data 有关问答

共享数据出现错误Q:我问题是关于 Core Data with CloudKit 。...多线程调试手段Q:调试 Core Data 在多线程方式下访问错误/崩溃最佳方式是什么?...在 App Group 中如何立即反应变化Q:当通过应用程序扩展(例如,SiriKit/AppIntents )向存储提交更改时,保证更改立即反映在可能已经运行主应用程序中最佳方式是什么( 反之亦然...如何加密数据库Q:如果我使用 NSPersistentStoreFileProtectionKey: FileProtectionType.complete 来加密我数据库,当用户将手机数据备份到 iCloud...在同步状态下,如何进行大版本迁移Q:嗨,在使用 Core Data 和 CloudKit 堆栈时遇到了一个关于迁移问题。

2.8K20
您找到你想要的搜索结果了吗?
是的
没有找到

Core Data with CloudKit(四)—— 调试、测试、迁移及其他

Core Data with CloudKit(四)—— 调试、测试、迁移及其他 本系列一共六篇,如希望获得更好阅读体验可以访问我个人博客 www.fatbobman.com[1] 本文聊一下在开发...在确认代码版本正确情况下,可采取删除本地app,重置CloudKit端开发环境方法来解决。但如果你应用程序已经上线,应尽量避免此类问题发生可能。请考虑后文中更新数据模型提供模型迁移策略。...•合并冲突请检查是否设置了正确合并冲突策略NSMergeByPropertyObjectTrumpMergePolicy?是否从CloudKit控制台对数据做出了错误修改?...通过使用类似下面的代码,可在调试中控制是否启用数据网络同步功能。...但如果对NSPersistentCloudKitContainer加载store调用此方法,则必须强制退出应用程序后再次进入方可正常使用(虽然数据库文件被转移,但迁移后会告知加载CloudKit container

64630

Core Data with CloudKit(三)——CloudKit仪表台

使用Xcode调试程序时,应用只能访问开发环境,而通过Testflight或App Store下载应用则只能访问生产环境。...CloudKit使用基于角色访问控制(RBAC)来管理权限和控制对公共数据库中数据访问(私有数据库对于应用程序用户是唯一)。...在获取令牌后,开发者还可以通过使用 CloudKit JS [6]或 CloudKit Web 服务[7]与数据进行交互。...包括请求数量、错误数量、推送数量、服务器延迟以及平均请求大小等等。通过设定范围,仅显示与你相关数据,帮助你更好地了解应用程序流量配置及使用趋势。...AppStoreConnect分析信息仅来自已同意与 App 开发者共享诊断和使用信息用户,CloudKit日志信息则来自于你应用程序中所有使用CloudKit服务用户。

68320

Core Data with CloudKit (六) —— 共享数据

Core Data with CloudKit (六) —— 创建与多个iCloud用户共享数据应用 如想获得更好阅读体验,可以访问我博客www.fatbobman.com 本文中,我们将探讨如何使用...在之前同步私有数据库中我们介绍过,私有数据库自定义区域可以创建CKDatabaseSubscription,参与者正式通过该订阅来及时获取到共享数据变化。...因此在实际使用中,同步速度比单纯同步本地数据库要慢。 由于网络共享库是网络私有库数据投影,因此两个数据库使用数据模型是完全一致。因此在代码实现上,基本上就是采用简单Copy完成。...调试须知 相较于同步本地数据库、同步公共数据库调试共享数据难度更大,对开发者心态考验也更多。 由于无法在模拟器上进行调试,开发者需要准备至少两台拥有不同iCloud账户设备。...也希望能够更多开发者可以了解并使用Core Data & CloudKit

1.3K20

Core Data with CloudKit(五)——同步公共数据库

Core Data with CloudKit(五)——同步公共数据库 本系列一共六篇,如想获得更好阅读体验可以访问我博客 www.fatbobman.com[1] 本文将介绍如何通过Core Data...一样名词、不一样含义 在Core Data with CloudKit(二)[2]中,我们介绍了如何同步本地数据库到iCloud私有数据库,本篇我们谈是如果将共享数据库同步到本地。...由于本地数据和持久化存储是没有权限概念,开发者很可能编写出尽管没有网络端权限但仍在本地进行了错误操作代码。这在同步公共数据库和同步共享数据库项目中是十分危险。...在基础[4]和CloudKit仪表台[5]两篇文章,我们已经介绍了私有数据库同步机制: •客户端在服务器订阅CKDatabaseSubscription•服务器端在私有数据库自定义Zone内容发生变化后...来获取公共数据库变化数据。

1.4K30

Core Data with CloudKit(二)——同步本地数据库到iCloud私有数据库

Core Data with CloudKit(二)——同步本地数据库到iCloud私有数据库 本系列文章一共六篇。...Xcode可能会提醒新项目代码有错误,如果觉得烦只需要Build一下项目即可取消错误提示(生成NSManagoedObject Subclass) 接下来,我们根据快速指南逐步操作。...当数据发生变化时,控制台会有大量调试信息产生,之后会有专文涉及更多关于调试方面的内容。...创建可同步Model注意事项 要在Core Data和CloudKit数据库之间完美地传递记录,最好对双方数据结构类型有一定了解,具体请参阅Core Data with CloudKit (一)...总结 在本文中,我们探讨了如何实现将本地数据库同步到iCloud私有数据库。 下一篇文章让我们一起探讨如何使用CloudKit仪表台。从另一个角度认识Core Data with CloudKit

1.9K20

Core Data 是如何在 SQLite 中保存数据

如何获取 Core Data SQLite 数据库文件 可以通过以下集中方法获取到 Core Data 生成 SQLite 数据库文件: 直接获取文件存储地址 在代码中( 通常放置在 Core...image-20220528103959218 启用调试参数 如果你在项目中开启了 Core Data 调试信息输出,那么可以直接在调试信息顶部找到数据库路径地址。...-com.apple.CoreData.CloudKitDebug 1 更多有关调试参数内容,请参阅 Core Data with CloudKit(四)—— 调试、测试、迁移及其他[4] 通过断点查找...如何数据库中标识关系 Core Data 利用了在同一个数据库中仅需依靠 Z_ENT + Z_PK 即可定位记录特性来实现了在不同实体之间标注关系工作。...时间戳晚于上次当前应用查询时间 作者不是当前 App 作者或其他系统功能作者 获取满足上述条件全部 Z_CHANGE 记录 合并事务 事务中提取数据操作记录( Z_ACHANGE )中包含了完整操作类型

1.5K20

Ask Apple 2022 中与 Core Data 有关问答 (下)

该方法 Persistent History 部分有助于确保你不会大量重复地从数据库获取数据,并且仅在你需要数据发生更改时才刷新。又是一个有关持久化历史跟踪问题。...@FetchRequest 性能如何Q:@FetchRequest 在性能方面是否优于在 ViewModel 构造方法中通过 fetchRequest 获取数据方式?...我想切换成 Core Data + CloudKit 方式。当现有用户打开新应用程序时,如何确保现有的本地 @AppStorage 数据被安全地转换到 Core Data + CloudKit 中?...我注意到,当我使用 Safari 客户端从 CloudKit 数据库中删除一条记录时( 通过 CloudKit Dashboard ),该对象仍会保留在设备上 Core Data 数据存储中。...每周也会对当周博客上新文章以及在 Twitter 上发布 Tips 进行汇总,并通过邮件列表形式发送给订阅者。订阅下方 邮件列表[11],可以及时获得每周 Tips 汇总。

3.2K20

CloudKit实践

最近个人开发了一个保存密码简单APP,有一个网络备份功能,鉴于功能比较轻便和安全私密性考虑,采用了CloudKit作为备份服务器方式进行备份资源。写个博客记录一下应用过程。...CloudKit也具有安全性,为用户私人数据提供了完整保护。而开发者不仅只能接入自己数据库,也不允许查看用户私有数据。...CloudKit适用于那些在服务端计算量不大,却需要使用大量数据iOS平台独占应用。 二、分类 CloudKit 基础对象类型有 7 种。...CKDatabase: Database 即数据库,私有数据库用来存储敏感信息,比如说用户性别年龄等,用户只能访问自己私有数据库。...CloudKit 使用 record 通过 k/v 结构来存储结构化数据。

1.6K10

java微服务架构有哪些_漂浮服务区后端

除了使用标准JavaScript和外部服务外,它还可以使用Kinvey API实现众多功能,比如日志、访问组合、发送推送通知、发送电子邮件、验证请求、日志和时间功能、异步处理、显示Mustache模板以及获取后端上下文...云代码可以在驻留在处理钩子函数和自定义端点中。云代码在Kinvey中实现内部版本控制。 数据存储 Kinvey组合使用MongoDB,MongoDB提供了供应用程序使用无模式、非SQL数据库。...CloudKit让每款应用都获得一个存放数据库和记录容器,而这些记录可以被查询,同时应用也可以通过订阅来改变这些数据。CloudKit还同时支持应用共享及公共数据库,方便开发者完成数据存储工作。...与 Parse 等提供子类化数据模型不一样,CloudKit 中所有存储数据只能是 CKRecord 类型,开发者需要使用一个名叫 Record Type 字符串来区分不同类型数据。...级联获取

7.3K20

Electron打包以及使用CloudKit做自动更新服务

打包后app有200~300M)上传下载速度(大家可以通过Hipo cloudkit测试),因此就考虑使用CloudKit。...设计方案是web端使用Cloudkit js做app zip包上传,对应上传表单大致这样: 对应在后端则使用Cloudkit server to server授权( 根据 CloudKit server...,特别一点是ownerId意义在于:CloudKit publicdatabase 大家都可以上传文件,默认只有自己可以修改自己创建记录,所以使用ownerId只获取自己上传记录,这样反而可以将这做成一个不错对外服务...这样自己服务端无需数据库App zip文件也无需使用其他CDN存储,简单高效低成本 Cloudkit网上教程相对较少,因此 最好前后端都使用官方提供CloudKit.js,这样会少走很多弯路,至于server...---- 文章多次修订后,决定开放http://hipo.cash/cloudkit/为一个免费Electron自动更新服务,上述API,所需几个参数都可以在表格中列出,方便获取

98120

实时切换 Core Data 云同步状态

但由于尚未经过充分测试,本文中仍将使用 NSPersistentContainer + NSPersistentCloudKitContainer 组合实现细节提醒可在此处获取基于以上分析创建 演示代码...有关 Persistent History Tracking Kit 内容请参阅其附带 ReadMe 文档不要清除 Transaction 记录与仅在 App group 成员中使用 Persistent...之所以仅在 App group 成员间使用 Persistent History Tracking 可以删除 Transaction 记录,那是因为每个成员都会在合并数据后,更新其对应时间戳。...如何处理共享数据库和公共数据库同步鉴于 NSPersistentContainer 并没有提供数据鉴权方面的 API,在你应用使用了共享数据库或公共数据库同步功能时,可以采用类似如下方式来处理:import...,屏蔽掉应用中可能导致共享数据库和公共数据库进行修改操作功能。

1.4K20

苹果 iCloud “极端”架构:管理数十亿独立用户数据库

CloudKit 使用 Record Layer 来承载数十亿个独立数据库,其中许多数据库具有通用模式。” 为什么使用 FoundationDB Record Layer?...Record Layer 充当关系数据库,使得 FoundationDB 更易于使用CloudKit 是最顶层,为应用程序开发人员提供特性和 API。...这是一个很好切入点,可以让我们粗略地了解一下苹果是如何构建 iCloud 。 如果你对 CloudKit、FoundationDB 和 Record Layer 相关技术感兴趣,请继续阅读。...CloudKit 如何使 FoundationDB 和 Record Layer 来源:FoundationDB Record Layer:多租户结构化数据存储 在 CloudKit 中,应用程序由“...从本质上讲,CloudKit 管理着大量逻辑数据库(将用户数量乘以应用程序数量),每个数据库都包含自己一组记录、索引和元数据,总计数十亿个数据库

10810

Hipo 2.0 Swift重写,限时免费!限时免费!限时免费!

使用Js开发移动应用,快速,成本低,门槛低,Hipo上线初就获得了App Store首页优秀App推荐,这也直接决定了我走上了独立开发这条不归路-_-# 至今仍然喜欢AngularJs,ionic,...仍然相信在App初期多数情况下使用Js开发是个很好选择。...在数据网络存储,多设备同步实现方案选择中纠结了很久,初期考虑使用类似LeanCloud方式,但是后来发现似乎LeanCloud方案无法仅依靠客户端实现增量同步(可能是我没想到如何做),需要依赖云端代码...在开始代码不久,才惊喜发现Apple Cloudkit能够仅靠客户端实现增量同步,免费额度很高,用户无需登录注册,相对而言开发者更加不用关心数据安全等,决定转而使用Cloudkit实现Hipo增量同步,...之后Demo测试发现CloudKit似乎比外界认为要好,在此占个坑,后续打算写写CloudKit文章,安利安利CloudKit

2.3K20

覆盖17类面试题小结

3、测试方案中哪一部分内容是对搭建环境描述 测试组网图 6、测试执行 1、如何准备测试数据 手工录入、导入生产环境数据、在数据库创建账号 2、测试报告内容有哪些 概述、测试时间、地点、人员、环境描述...(1)输入正确用户名和密码,点击提交按钮,验证是否能正确登录。 (2)输入错误用户名或者密码, 验证登录会失败,并且提示相应错误信息。...(9)使用不同大小字体,以免找不到重点。 13、Selenium 1、什么是断言,请至少写出5个unittest下断言,并解释其含义 断言可以简单理解为预期结果和实际结果比较。...2、简述微信小程序跟公众号、订阅号、服务号区别 公众号指的是能被公众看到信息平台,范围最广,包括了小程序、订阅号和服务号。 订阅号:是用户在微信中订阅文章所使用公众账号。...环境问题、测试不全面问题等等 17、Loadrunner 1、简述使用Loadrunner使用步骤 脚本录制设置—录制脚本—调试脚本—场景设置—执行场景-结果分析 2、什么是场景,场景重要性有哪些

54320

肘子 Swift 周报 #027 | 苹果助你成为一日“百万富翁”

近期推荐 SwiftLog 和 OSLog:选择、使用以及坑[6] 王巍 (onevcat)[7] 日志工具对开发者至关重要,它们在调试和维护上线应用中扮演着提供即时且精确信息角色。...在本文中,Alexander 介绍了如何解决使用 Xcode 预览时常见问题,并建立一个有效预览环境。...Syncing data with CloudKit in your iOS app using CKSyncEngine and Swift[16] Jordan Morgan[17] 虽然开发者使用...CloudKit API 从服务器获取数据相对简单,但实时处理本地与云端数据同步则面临许多挑战,如复杂网络环境、用户权限限制及设备电量管理策略等。...通过使用 HandVector,开发者可以在还未获取实体设备情况下,对其应用进行全面测试,从而加速应用开发和上市进程。

9810

iOS之深入解析Xcode 13正式版发布40个新特性

、Vim 键绑定支持、Swift 包集合; 可以在命令行上使用 cktool 与 CloudKit 数据库架构和记录进行交互; 可以在命令行上使用 TextureConverter 将纹理压缩为所有 Metal...,以提取在 Objective-C 代码中使用新 NSLocalizedAttributedString 宏字符串; 导出本地化时,多个本地化中错误现在会聚合到一个警报对话框中; 在导出以进行本地化时...,并显示描述如何停止自动化文本; 在 macOS 中,或在具有密码设备上使用自动化时,必须从管理员帐户运行自动化,并且必须进行身份验证以授权自动化; XCTest 现在支持从 App Tracking...使用这个 API 加载产品信息、在您商店中显示应用内购买、允许客户进行购买、管理对内容和订阅访问以及接收由 App Store 以 JSON Web 签名 (JWS) 格式签署交易信息。...使用 requestViewController(completionHandler:) 方法获取视图 AUViewController。

8.7K40

关于 Core Data 并发编程几点提示

启用 Core Data 并发调试参数 开发者在 Core Data 中使用并发编程很容易碰到如下场景:程序在调试期间没有出现问题。...程序上线后,由于使用增多,会出现无法预期、难以重现、定位麻烦程序异常或崩溃。其中有不少是因错误使用 Core Data 并发编程而产生。...在 Core Data with CloudKit(二) —— 同步本地数据库到 iCloud 私有数据库[4] 中可以看到如何通过 automaticallyMergesChangesFromParent...举个例子,方便大家对保存冲突有直观了解: •主上下文中使用 fetch 从数据库获取了托管对象 A(对应数据库数据 B)•使用 NSBatchUpdaterequest (不经过上下文)修改了数据库数据...•在保存时,A 乐观锁版本号已经同数据库 B 新版本号不一致了,发生了保存冲突。此时就需要根据设置合并策略来解决如何取舍问题。 使用 mergePolicy 设定合并冲突策略。

77820
领券