管理核心数据 iCloud 事务日志

2023-11-27

我正在将 iCloud 与 Core Data 结合使用,基于 Apple 指定的 SQLite“库式”应用程序设计。虽然基本功能运行得很好,但我担心事务日志及其管理方式。

虽然我的应用程序的数据库并不大,但它非常活跃,并且在应用程序使用过程中核心数据堆栈被保存了很多次。我注意到创建了一个新的事务日志every核心数据保存。最终结果是我有大量事务日志,它们占用的空间比实际数据库多得多。

1) 事务日志是否会自动修剪/合并,或者它们会继续无限增长,最终数量达到数千并占用许多兆字节?似乎手动清除事务日志并重新创建 .baseline 存档的唯一方法是禁用然后重新启用 iCloud(删除普遍存在的容器并重新启动)。但这显然不是一个好的解决方案。

2)我当前的架构经常保存核心数据堆栈,即使是微小的更改。一般来说,这是有道理的,因为我的数据库很小,并且保存通常可以确保数据库文件始终是最新的。但是,考虑到上述事务日志问题,我认为我应该尽量减少对数据库的保存。也许会定期和/或在应用程序转换状态上这样做。

3)即使我通过减少保存数据库的频率来最大限度地减少事务日志的数量,这里似乎仍然存在问题,因为日志的数量会随着时间的推移而继续增长。最终,“事务日志”设计的好处将成为 iCloud 存储使用量以及添加新设备时初始 iCloud 同步的负担。

由于 Apple 在 iCloud 上提供的信息非常稀疏,而且几乎没有任何“最佳实践”形式的信息,因此我希望社区能够提供任何见解。


我就这个问题提交了雷达并收到了以下答复。他们指出它应该在 iOS 5.1 中正常工作,尽管我自己还没有验证这一点。

对任何可能误解以下内容的人进行澄清。事务日志将由核心数据内部清理。这不应该由应用程序本身执行。

工程部门针对此问题提供了以下反馈:

事务日志旨在在所有活动之后被删除 同龄人有机会阅读它们,并且它们超过了阈值 消耗的空间。之前有一个问题阻止了设备 正确地这样做。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

管理核心数据 iCloud 事务日志 的相关文章

  • 如何使用 WKWebView 正确实施身份验证质询?

    我正在构建一个网络浏览器 但在网络方面我真的是新手 我想测试下面的代码示例 但我没有现实生活中的示例可以使用 void webView WKWebView webView didReceiveAuthenticationChallenge
  • 有什么方法可以让dispatch_queue_t在单线程中工作吗?

    这是我的代码 interface MyObject property nonatomic dispatch queue t queue end implementation MyObject NSThread check id init s
  • 在iPhone上将CSV文件读入sqlite3

    有没有办法在iPhone上将CSV文件读入sqlite3 sqlite3 是否有类似于 SQL 命令的功能 LOAD DATA LOCAL INFILE file csv INTO TABLE TABLENAME FIELDS TERMIN
  • 在 SwiftUI 中折叠 doubleColumn NavigationView 详细信息,就像在 UISplitViewController 上折叠一样?

    因此 当我在 SwiftUI 中创建列表时 我可以 免费 获得主从拆分视图 例如 import SwiftUI struct ContentView View var people Angela Juan Yeji var body som
  • 在运行时动态创建核心数据模型

    是否可以在运行时从服务器上的一组实体生成核心数据模型 例如SharePoint 列表或 SQL MySQL Parse 我正在尝试采用动态路线 因为 SharePoint 列表 SQL Parse 中的字段可能会在将来随时添加 这意味着应用
  • 只有根级导航目的地对于具有同质路径的导航堆栈有效

    我正在尝试整合NavigationStack在我的 SwiftUI 应用程序中 我有四个看法 CealUIApp OnBoardingView UserTypeView and RegisterView 我想从OnBoardingView
  • 什么是已弃用的推送转场? (iOS 8)[重复]

    这个问题在这里已经有答案了 我不知道在这种情况下已弃用意味着什么 我是编程新手 正在 Xcode 6 中制作我的前几个应用程序 今天我正在制作一个待办事项列表应用程序 当连接到用户可以输入新待办事项以添加到主表的场景时 我被邀请使用推送转场
  • 方向改变时重新定位控件

    我知道自动布局可用于在方向改变时使尺寸和位置保持一致 当方向改变时 是否可以完全改变布局 例如 请查看下面的纵向模式下简单登录屏幕的线框 现在 如果我旋转设备 我想完全重新定位控件 这种事情可以用自动布局来完成吗 如果没有 我该怎么办 谢谢
  • iOS推送通知:当应用程序处于后台时,如何检测用户是否点击了通知?

    关于这个主题有很多 stackoverflow 线程 但我仍然没有找到好的解决方案 如果应用程序不在后台 我可以检查launchOptions UIApplicationLaunchOptionsRemoteNotificationKey
  • 如何在我的应用程序中添加应用内购买

    我想在我的应用程序中使用应用程序购买应用程序 但我不知道如何执行此操作 任何人都可以帮助我如何做以及源代码在哪里 给我链接或代码 这里有一堆链接 应用内购买编程指南 http developer apple com iphone libra
  • iOS 自定义滑块删除两端的最小和最大空间

    我正在尝试使用自定义滑块 class MySlider UISlider override func trackRect forBounds bounds CGRect gt CGRect let customBounds CGRect o
  • Flutter - 选择 TextFormField 时键盘不显示

    我目前遇到一个问题 当我选择任何一个时 键盘不会出现TextFormFielda 内的小部件Form小部件 这是表单的代码 位于我的内部CreateAccountForm有状态的小部件 import package flutter mate
  • 如何以编程方式设置设备(UI)方向?

    希望屏幕 UI 上的所有内容都能够从横向左向右旋转 反之亦然 我该怎么做呢 这是私人的吗 我知道 BOOL shouldAutorotateToInterfaceOrientation UIInterfaceOrientation inte
  • NSCFData isRessized 崩溃?

    我目前在控制台中收到此崩溃日志 2011 08 23 19 18 40 064 App 1697 707 NSCFData isResizable unrecognized selector sent to instance 0x11f1c
  • mgwt - 以编程方式改变方向

    是否可以在 gwt mgwt 应用程序中更改强制执行特定的屏幕方向 可以说我希望用户始终以横向模式使用应用程序 这取决于 是作为phonegap应用程序 而不是在浏览器内部 如果您作为 Web 应用程序运行 则不需要t get any co
  • 无法从 iOS 中的框架访问 .nib(XIB) 文件

    我已经从现有的代码库中创建了一个框架 并尝试在新的代码库中使用它 这很好用 但是当我尝试访问属于我的框架包的一部分的 nib 文件时 我的应用程序崩溃了 这是我用来访问视图控制器 XIB 文件的代码 testViewController c
  • iOS Safari Mobile 禁用上一个和下一个选择输入

    上周五我发现了关于此问题的类似问题 但似乎无法再次找到它 如果有人能指出我正确的方向 那就太好了 本质上我在一个页面上有多个选择菜单 第一个在加载时填充 第二个在第一个选择时填充 够简单的 但是 在 iOS 设备中 当您点击选择元素时 它会
  • 如何将图像放入此 UIPickerView 中?

    我不知道如何创建一个在文本一侧带有图像的自定义 UIPickerView 我一直在寻找一种方法 我刚刚发现了这个 UIView pickerView UIPickerView pickerView viewForRow NSInteger
  • AFNetworking XML 请求问题

    我在用着AFNetworking 2使用 JSON 响应 它工作正常 现在我必须将其转换为 XML 而不是使用 JSON 因为服务器响应是 XML 格式的 在我搜索之后 我找到了这段代码 但它不起作用 与 Charles 我发现请求是错误的
  • 将静态库合并为单个

    如何将静态库合并为一个 我确实有三个静态库 libSignatureLibary armv6 a libSignatureLibary armv7 a 和 libSignatureLibary i368 a 现在我想将这三个文件合并到一个库

随机推荐

  • PHP MySQL连接持久化

    我读过很多关于 PHP 和 MySQL 之间的持久数据库连接 mysql connect 与 mysql pconnect 的内容 与 PDO 和 MySQLi 相同 这绝对是我对这一点缺乏了解 但是数据库连接如何在网页之间保持持久呢 在此
  • 如何使用 AngularJS 对多个对象应用过滤器?

    我的用户对象定义如下 scope users id 1 name Adam friends name John age 21 sex M name Brad age 32 sex M 然后我有以下代码 div div user name f
  • 从缓冲区读取时省略换行符

    我编写了以下代码 public class WriteToCharBuffer public static void main String args String text This is the data to write in buf
  • Kubernetes 上的 Apache flink - 如果 jobmanager 崩溃则恢复作业

    我想在 kubernetes 上运行 flink 作业 使用 持久 状态后端 似乎崩溃的任务管理器不是问题 因为如果我理解正确的话 它们可以询问作业管理器需要从哪个检查点恢复 崩溃的 jobmanager 似乎有点困难 对此翻页 6 页我读
  • 为什么 FirebaseDatabase 客户端离线有两种方法?

    FirebaseDatabase 提供两种使客户端脱机的方法 DatabaseReference goOffline 手动断开 Firebase 数据库客户端与服务器的连接 然后 禁用自动重新连接 注意 调用该方法会影响 所有 Fireba
  • NSURLConnection 是否利用了 NSURLCache?

    我试图弄清楚如何使用 URL 加载框架来利用缓存来加载 URL 我正在使用 NSURLConnections 并向它们提供 NSURLRequests 我什至将这些请求的缓存策略设置为 NSURLRequestReturnCacheData
  • 如何使用 swift 设置多注释数组

    下面的数组应该如何设置 我试图在我的地图上添加多个注释 我能够在 stackoverflow 上找到下面的代码 但他们没有显示如何设置数组 var objects how should the array be setup here for
  • 按后退关闭 Android 弹出窗口

    我创建了一个 Android 应用程序 在其中创建了一个弹出屏幕 但是当我按下后退按钮时 弹出窗口没有关闭 我尝试过 onBackPressed 它不起作用 有人可以告诉我该怎么做吗 Regards Shankar 你需要做的就是打电话设置
  • 从 forEach 循环中的第二项开始

    我需要从数组中的第二项开始 为了保存正确的上下文 我需要使用forEach而不是简单的for loop 我已经用下一种方式做到了 private convertToRanges arr any const inputArr arr slic
  • PHP 和 Apache 环境变量

    我想在启动时将linux中的环境变量传递给apache 导出 MYVAR 5 我在命令行定义我的环境变量 PassEnv MYVAR 设置apache导入apache配置文件中的变量 apachectl 重新启动 当我重新启动 apache
  • 给定一个方法,在 Python 3.3 及以上版本中如何返回它所属的类?

    Given x C f after class C def f self pass 我该呼吁什么x将会返回C 我能做的最好的就是exec解析的一部分x qualname 这很难看 exec d join x qualname split 1
  • 如何通过嵌入的 URL 将参数传递给 PowerBI Embedded

    我有一个 IFrame 它显示具有世界地图的 Power BI 嵌入式报告 我可以将参数传递给 Power BI Embedded 与嵌入式 URl 来根据特定国家 地区筛选我的报告吗 Thanks 嵌入报告时 请将以下内容添加到 ifra
  • 按角度旋转整个 qwidget

    我正在 wt 中创建简单的俄罗斯方块 并继承了小部件来创建片段 我在游戏中放置了四个片段 四个不同的类 我在每件作品中都借鉴了绘画事件 如何旋转小部件 我可以在 painEvent 函数中绘制旋转图像 但我宁愿旋转整个小部件 这在 qt 中
  • PHP长轮询,无需过多的数据库访问

    我一直很喜欢长轮询的想法 在我的开发服务器上 我玩过各种通知 新帖子系统 每个系统都使用 javascript 来保持连接并 等待 某种响应 我一直对这种方法的许多实现存在疑问 它们都涉及重复轮询 mySQL 服务器以检查新行 可以使用专门
  • 删除 SQL Server 中字符串中的所有空格

    在 SQL Server 2008 中删除字符串中所有空格的最佳方法是什么 LTRIM RTRIM a b 将删除字符串右侧和左侧的所有空格 但我还需要删除中间的空格 只需更换即可 SELECT REPLACE fld or variabl
  • iOS 中何时刷新收据与恢复购买?

    我们的 iOS 应用程序使用应用程序内购买 包括一次性订阅和自动续订订阅 这两个都是非消耗品 iOS 提供了两个 API 刷新收据 and 恢复已完成的交易 似乎后者适用于所有情况 而前者仅适用于某些情况 具体来说 当我们将自动续订购买恢复
  • Golang使用goroutines并行下载多个文件

    是否可以使用 goroutine 并行下载和保存文件 下面是我的代码 它从我的保管箱下载文件 package main import encoding json fmt io io ioutil net http net url os pa
  • 事件中心是否应该根据消息类型进行拆分?

    我正在考虑将 Azure 事件中心用于我当前正在进行的项目 今天我们使用服务总线队列来执行命令 在这里我们为每种消息类型使用一个队列 拥有多个事件中心是否有意义 还是使用一个中心处理多种消息类型更好 这是一个充满权衡和判断的问题 您希望现在
  • 如何通过 JavaScript 获取通过 CSS 设置的准确 RGBa 值?

    在我尝试过的大多数浏览器中 rgba 一旦浏览器解析了 CSS 值似乎就会改变 例如 以下 CSS background color rgba 255 0 0 0 5 通过访问时给出以下 CSS 值jQuery css background
  • 管理核心数据 iCloud 事务日志

    我正在将 iCloud 与 Core Data 结合使用 基于 Apple 指定的 SQLite 库式 应用程序设计 虽然基本功能运行得很好 但我担心事务日志及其管理方式 虽然我的应用程序的数据库并不大 但它非常活跃 并且在应用程序使用过程