问题标签 [spotlight]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
983 浏览

macos - Spotlight 无法打开:控制台显示:mds[pid] (Fatal) 服务器:mds 必须以 root 身份运行。退出

我关掉了聚光灯,对此非常彻底。太彻底了,我无法重新打开它。我需要从 Mac App Store 安装一个程序(并且 App Store 依赖于 mds),所以如果有人知道如何在没有 mds 的情况下安装 App Store 程序的信息(聚光灯),那就更好了。

所以我的问题是聚光灯抱怨它只能以root身份运行,但我无法终生弄清楚为什么它不是。据我了解, /System/Library/LaunchDaemons 中的启动守护进程会自动以 root 身份启动,只要它们具有正确的权限。该目录的每个文件都是 rw-rr。以下是我用来从 launchd 卸载/加载 Spotlight 的命令:

我还重命名了 /System/Library/Frameworks/CoreServices.framework/Frameworks/Metadata.framework/Support 中的 mds 可执行文件,添加了一个 .bak 扩展名。

要重新加载它,我基本上撤消了这些步骤。但是它现在不工作。我在谷歌上搜索了错误,但没有骰子。我从 Snow Leopard 安装映像重新加载了 mds 二进制文件,没有做任何事情。我已经修复了 4-5 次权限并手动查找树以查看是否发现任何权限错误,但一切都是 root:wheel 755,就像我认为它应该在 Frameworks 文件夹中,而 rw-rr 在 LaunchDaemons文件夹。然而,mds 不断地向控制台发送消息说 mds[pid] (Fatal) Server: mds must be run as root。退出。

有人知道发生了什么吗?我现在不想重新格式化,因为我已经花了很长时间来设置这台电脑,我只想从 App Store 安装一个程序。

谢谢!

0 投票
1 回答
1183 浏览

objective-c - 如何使用 NSPredicate 发送正确的查询以在 Spotlight 的实现中获取所需的元数据?

在下面的代码第 25 行 searchPredicate 中,无法设置正确的查询。即使正确,也无法在通知调用的方法“initialGatherComplete:”中取回合适的元数据。获取的元数据应根据 _searchField 中的字符串进行排序。请告诉我哪里出错了。

0 投票
1 回答
837 浏览

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

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

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

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

0 投票
0 回答
131 浏览

cocoa - Apple 的 SearchKit 是否支持基于元数据的排序?

我知道 searchKit 允许您使用 Spotlight 导入器从文件中提取文本内容以进行索引,但是,它是否也允许您提取所有元数据?我正在阅读 SearchKit 仅索引文档内容,甚至不索引文档名称,但无论如何强制它从聚光灯导入器获取元数据并索引它们?

我还查看了参考资料,但找不到任何有关 searchkit 是否允许您为返回的结果设置自定义 sortOrder 的信息。这可能吗?

0 投票
1 回答
448 浏览

macos - 使用聚光灯查询

我正在为 LEOPARD (10.5) 开发一个小项目,而且我是 Objective-C 编程的新手。我一直在互联网上搜索一些教程,但我仍然感到困惑!我需要使用 Leopard 的 Spotlight 功能来搜索安装在用户计算机上的每个 .app 文件。我还需要它的名称、路径和图标。所有查询的数据必须保存在文本文件中。我怎样才能做到这一点???谢谢!

0 投票
0 回答
161 浏览

python - 通过 PyObjC 查询 Spotlight 的一系列日期

我正在通过 pyobjc 使用聚光灯。除了我尝试使用 kMDItemContentCreationDate 来限制时间段之外,它运行良好。我认为问题在于我的时间格式。任何帮助将不胜感激。

0 投票
1 回答
692 浏览

php - 在 PHP 中创建“聚光灯搜索”

我正在编写一本将发布到我的网站的电子书。我想模仿 OSX 的 Spotlight 功能,有人可以使用我的固定搜索栏并输入文本,然后在页面上为他们突出显示。我试图使用 Sphider,但在得到这个结果时没有这样的运气。

•找到这个类似的线程,但不完全是我正在寻找的。

0 投票
1 回答
2553 浏览

macos - 使用 mdls 命令生成元数据报告

总而言之,
我有一个 shell 脚本,它遍历用户提供的文件夹中的所有媒体(音频、视频)文件,并创建一个不错的基于文本的元数据报告。我在Mac OS X上,我正在使用 Spotlight 的mdls命令来获取所有相关的元数据。问题是有时我会在所有媒体文件的报告中看到“空”结果。如果我再次运行脚本,它似乎可以工作。我很困惑为什么会这样。这是输出元数据报告的脚本的一部分:

预期的输出是这样的:

1) [./test1.mov]
- 持续时间:22.03
- 尺寸:480 X 640 像素
- 编解码器:( "H.264" )

2) [./test2.mov]
- 持续时间:25.03
- 尺寸:480 X 640 像素
- 编解码器:( "H.264" )

但有时所有媒体文件的输出为空:

1) [./test1.mov]
- 持续时间:空
- 尺寸:空 X 空像素
- 编解码器:(空)

2)[./test2.mov]
- 持续时间:空
- 尺寸:空 X 空像素
- 编解码器:(空)

我在这里错过了一个技巧吗?为什么脚本有时会工作,有时会输出 null?

0 投票
1 回答
299 浏览

macos - 如何取回 Spotlight For Help 菜单项

我有一个需要身份验证的应用程序。在用户进行身份验证之前,菜单栏中仅存在一部分菜单项。用户成功通过身份验证后,我将应用程序的主菜单替换为[NSApp setMainMenu:aMainMenu];不幸的是,这会删除 Spotlight For Help 菜单项,该菜单项允许用户在帮助手册中搜索菜单项。菜单项在我替换主菜单之前存在。

如何在不替换特定菜单项而不是整个主菜单的情况下恢复 Spotlight For Help 菜单项?

0 投票
1 回答
567 浏览

macos - mdls 命令:“kMDItemTotalBitRate”属性值问题

所有,
我在 Mac OS X 上有一个 shell 脚本,它使用mdls命令来获取所有媒体文件(mp3、mov、m4v 等)的总比特率元属性。我想将输出与设定的阈值 (XY Kbps) 进行比较,如果媒体文件的比特率超过 XY,则引发一个标志。问题是输出不表示它是 Kbps 还是比特每秒。例如,我在 2 个音频文件 test1.m4a 和 test2.mp3 上运行了 mdls 命令:

在检查 iTunes 时,我看到前者的数字是 249 kbps,后者的数字是 192 kbps。如何强制mdls命令仅以比特/秒为单位输出 kMDItemTotalBitRate,以便所有文件的输出一致并消除混淆?