【问题标题】:Searching multiple apps with same bundle ID搜索具有相同捆绑 ID 的多个应用程序
【发布时间】:2013-08-05 10:40:05
【问题描述】:

我正在尝试搜索安装在我的 Mac 上的具有特定捆绑 ID 的应用程序。我设法使用在this 问题中找到的LSFindApplicationForInfo 来做到这一点。

我面临的问题是我不知道如何搜索具有相同捆绑 ID 的已安装应用程序。例如。如果我安装了com.domain.coolapp 的两个版本,我该如何列出这两个版本?除了使用lsregister 搜索.app 文件外,我似乎找不到任何解决方案。

如文档中所述,使用LSFindApplicationForInfo 是不可能的:

如果发现多个应用程序与指定的匹配 特征,Launch Services 以相同的方式选择一个 在找到打开项目的首选应用程序时。

【问题讨论】:

    标签: objective-c macos launch-services


    【解决方案1】:

    您可以使用NSTask 呼叫mdfind(1)(本质上是Spotlight)。

    mdfind "kMDItemCFBundleIdentifier == 'com.domain.coolapp'"
    

    它每行返回一个匹配的应用程序,而不是只返回首选应用程序,并且在我的机器上,调用会立即从命令行返回,因此幕后可能会发生一些聪明的事情。

    【讨论】:

    • 太棒了!今晚我会看看它,看看它是否对我有用。谢谢。
    猜你喜欢
    • 2012-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-06
    • 1970-01-01
    • 2015-10-03
    • 1970-01-01
    相关资源
    最近更新 更多