有谁知道找到(在文件系统中)具有给定捆绑标识符的每个应用程序的好方法?NSWorkspace
和启动服务让您可以通过捆绑标识符查找应用程序,但只返回一个结果。我怀疑 Spotlight ( NSMetadataQuery
) 可能会有所帮助,但我对它的 API 有点不清楚,所以我不确定是否有合适的密钥。
有命令行lsregister
工具(在 LaunchServices.framework 中),可以告诉它(重新)注册系统上的所有内容,然后转储它所知道的所有内容的报告。依赖它似乎不太理想,因为它没有记录并且解析它的输出可能会很痛苦。
(背景:我正在构建一个用于游戏改装的应用程序,并希望提供 UI 以便从支持的游戏的简短列表中快速选择,而不是要求用户在打开面板中挖掘整个文件系统。但是,我希望它相当用户可能安装了多个游戏副本:发行版和测试版、用于修改的额外副本等)