gpt4 book ai didi

findersync - 如何强制查找器同步扩展刷新可见项目?

转载 作者:行者123 更新时间:2023-12-05 00:49:35 28 4
gpt4 key购买 nike

我有一个显示文件状态的 Finder 同步扩展 (FSE)。有没有办法可以强制 FSE 再次请求 Finder 窗口中当前可见的所有文件/文件夹的状态。

最佳答案

Finder 同步扩展 (FSE) 有回调 beginObservingDirectoryAtURLendObservingDirectoryAtURL您可以在其中跟踪正在观察的路径(即通过添加/删除到 NSMutableSet 的路径)。
此外,每当主应用程序通知 FSE 有关文件同步状态更新时,FSE 可以将接收到的状态缓存在字典中,其中文件路径映射到文件同步状态。

然后,当 FSE 收到来自主应用程序的消息以刷新所有项目时,FSE 应该检查正在观察哪些路径,然后从主应用程序请求所有缓存路径的新状态在观察集中具有前缀。此外,FSE 应该删除它的内部缓存,迫使它从主应用程序请求新观察到的文件(即当用户打开某个其他文件夹时)。

一旦 FSE 收到来自主应用程序的消息,它就可以调用[[FIFinderSyncController defaultController] setBadgeIdentifier:syncStatus forURL:url]从而为 URL 设置正确的同步状态图标。

该解决方案假设 FSE 和主应用程序之间的双向通信 channel 可以通过使用 NSDistributedNotificationCenter 来实现。或通过 CFMessagePort .

还要记住,可以有多个 FSE 实例在运行(即来自第三个应用程序的保存对话框)

关于findersync - 如何强制查找器同步扩展刷新可见项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47445300/

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