如何检查应用程序位于 OS X 下的位置?
How to check, where an application is located under OS X?
如何查看安装在 OS X 下的应用程序的位置?
我尝试使用 LSFindApplicationForInfo
方法,如果您正在搜索包标识符,它工作正常。
但是,如果您安装了多个应用程序实例,则此方法无效。 LSFindApplicationForInfo
仅获取一个应用程序实例的位置。此外,此功能在 OS X 10.10.
中已弃用
来自以下线程的终端输入 mdfind "kMDItemCFBundleIdentifier
工作正常,但只有在启用聚光灯的情况下才能工作。
如何在用 C 或 Objective-C 编写的源代码中获取具有相同包标识符或相同名称 "name.app" 的所有应用程序实例的位置?
How to find multiple apps with same bundle identifier?
Check if a Mac OS X application is present
如果您可以针对 10.10 或更高版本,则可以使用 LSCopyApplicationURLsForBundleIdentifier()
。这被记录为返回具有给定包标识符的所有应用程序的 URLs。
我不清楚您要查找的应用程序是否是您控制其属性的应用程序。如果是,并且您需要支持 10.10 之前的 OS X 版本,您可以使用的一种方法是让目标应用程序声称支持自定义虚拟 URL 方案。然后你可以使用 LSCopyApplicationURLsForURL()
来找到它的所有实例。你用你的虚拟方案构造一个 URL,例如 com-yourcompany-yourproduct-app-identifier-scheme://junk
并将其作为输入传递。
如何查看安装在 OS X 下的应用程序的位置?
我尝试使用 LSFindApplicationForInfo
方法,如果您正在搜索包标识符,它工作正常。
但是,如果您安装了多个应用程序实例,则此方法无效。 LSFindApplicationForInfo
仅获取一个应用程序实例的位置。此外,此功能在 OS X 10.10.
来自以下线程的终端输入 mdfind "kMDItemCFBundleIdentifier
工作正常,但只有在启用聚光灯的情况下才能工作。
如何在用 C 或 Objective-C 编写的源代码中获取具有相同包标识符或相同名称 "name.app" 的所有应用程序实例的位置?
How to find multiple apps with same bundle identifier?
Check if a Mac OS X application is present
如果您可以针对 10.10 或更高版本,则可以使用 LSCopyApplicationURLsForBundleIdentifier()
。这被记录为返回具有给定包标识符的所有应用程序的 URLs。
我不清楚您要查找的应用程序是否是您控制其属性的应用程序。如果是,并且您需要支持 10.10 之前的 OS X 版本,您可以使用的一种方法是让目标应用程序声称支持自定义虚拟 URL 方案。然后你可以使用 LSCopyApplicationURLsForURL()
来找到它的所有实例。你用你的虚拟方案构造一个 URL,例如 com-yourcompany-yourproduct-app-identifier-scheme://junk
并将其作为输入传递。