Используя runningApplications из NSWorkspace, можно получить список запущенных приложений в Mac OS в виде объектов NSRunningApplication и получить дополнительную информацию, например, какое приложение находится на переднем плане.
Можно идентифицировать запущенное приложение по его имени (localizedName), но я уверен, что мошеннические приложения могут подделать его. Другие вещи, такие как bundleIdentifier, кажутся лучше, но я считаю, что их тоже можно подделать.
Я полагаю, что почти все метаданные могут быть подделаны для приложений за пределами общедоступного магазина приложений, но для любых приложений, полученных из магазина приложений, такие вещи, как bundleIdentifier, должны быть безопасными способами идентификации приложения, верно?
Если мы включим произвольные приложения, которые кто-то загружает из Интернета, есть ли лучший способ идентифицировать приложение, чем отфильтровывать мошеннические приложения? Я понимаю, что не может быть решения, которое не имело бы недостатков, но ищу попытку сделать все возможное.