Does anyone know of a good way to find (in the filesystem) every app with a given bundle identifier? NSWorkspace
and Launch Services let you look for an app by bundle identifier, but only return a single result. I suspect Spotlight (NSMetadataQuery
) might help, but I'm a bit unclear on its API, so I'm not sure if there's an appropriate key.
There's the command-line lsregister
tool (inside LaunchServices.framework), which can be told to (re)register everything on the system and then dump a report on everything it knows about. Relying on that seems less than ideal, since it's undocumented and parsing its output could be a pain.
(Background: I'm building an app for game modding, and want to provide UI for quickly choosing from a short list of supported games rather than requiring the user to dig through the whole filesystem in an Open panel. However, I expect it's quite likely for a user to have multiple copies of a game installed: release and beta, extra copies for modding, etc.)
lsregister
can be told to (re)register just one thing, and then dump a report on everything it knows about. – Pauperism