gpt4 book ai didi

macos - 确定 mdworker (Spotlight) 是否已完成第一次扫描

转载 作者:行者123 更新时间:2023-12-04 21:49:00 24 4
gpt4 key购买 nike

我如何确定 mdworker (Spotlight) 已完成第一次扫描?我基本上是在寻找小“。”的点。在聚光灯下的搜索图标将消失,您将能够执行搜索。 (显然操作系统有办法确定这一点,因为它会显示一个点,直到它准备好......)我没有看到来自 mdutil 的任何内容我在 Spotlight API 中找不到任何东西。

我目前正在使用 mdimport 强制我自己同步扫描, 但这会导致很长的延迟(从几分钟到几小时,具体取决于我在哪里搜索的积极程度)并重复 mdworker 的工作已经在做。

任何解决方案(程序化、脚本化、文档化或无文档化)在这里都是公平的。

最佳答案

我为此与 Apple 开了一个 DTS。答案是从 10.7 开始没有支持的方法来执行此操作。聚光灯搜索图标使用的“小点”由私有(private)界面控制。

我的目标是获取已安装应用程序的 list 。

我目前的解决方案是使用 fts 收集/Applications 中所有应用程序的列表。并搜索名为“.app”的东西,并在我去的时候进行修剪,这样我就不会得到子应用程序。 (使用 NSDirectoryEnumeration 会更容易,但是这段特殊的代码是在 C++ 中使用 Core Foundation 的。使用 CFURLEnumerator 会更容易,但我需要支持 10.4。所以 fts 很好。 )

扫描此列表非常快。一旦我知道盒子上的最小应用程序数量,我会将其与 system_profiler 进行比较。输出。如果 system_profiler告诉我/Applications 中的应用程序比我知道的要少,然后我自己扫描所有捆绑包。否则,我使用 system_profiler 的输出.

这并不理想,但它是一种不错的启发式方法,“大部分”是正确的,并且可以防止应用程序的严重漏报。

关于macos - 确定 mdworker (Spotlight) 是否已完成第一次扫描,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8718155/

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