gpt4 book ai didi

macos - 如何将 kFSEventStreamEventFlagEventIdsWrapped 与 FSEvents 一起使用?

转载 作者:行者123 更新时间:2023-12-03 17:12:18 26 4
gpt4 key购买 nike

我试图了解如何将 kFSEventStreamEventFlagEventIdsWrapped 事件标志与 FSEvents 结合使用。

根据文档,当事件 ID 计数器回绕时,该标志会发送到已注册的实例,从而使先前的事件 ID 过时。

现在让我们想象以下场景:

  • 我在应用程序中注册了 FSEvents
  • 处理完 FSEvents 后(例如,我的应用程序退出),我会保存处理事件时遇到的最后一个事件 ID,以便能够重播该 ID 的更改;
  • 当我的应用程序未运行时,事件 ID 计数器会回绕。

我的问题是:我怎么知道柜台已经被绕好? (因此需要我重新扫描整个目录结构。)

最佳答案

我现在直接从 Apple 得到了答案。

这个场景一开始就是错误的。保存最后处理的事件 ID 时,还必须保存事件流的 UUID。事件 ID 仅对给定事件流有效,该事件流由其 UUID 标识(请参阅FSEventsCopyUUIDForDevice())。

每当事件 ID 计数器回绕时,就会生成一个新的事件流 UUID。因此,如果您在事件 ID 计数器结束后重新启动应用程序,您存储的最后一个事件 ID 将不再有效,并且您会知道,因为事件流 UUID 不会相同.

如果您遇到 kFSEventStreamEventFlagEventIdsWrapped 标志,则意味着计数器在您的应用程序打开时回绕。然而,没有什么特别要做的。如果您想保存最后一个事件 ID,您应该确保获取新的事件流 UUID。

关于macos - 如何将 kFSEventStreamEventFlagEventIdsWrapped 与 FSEvents 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19840874/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com