"FrontmostApplication" NSWorkspace не изменяется после первоначального использования

Я пытаюсь получить обновление текущего активного (переднего плана) приложения. Даже на экранах компьютеров. Я использую этот код, чтобы попытаться сделать это:

print(NSWorkspace.sharedWorkspace().frontmostApplication?.localizedName)

Это зацикливается в приложении командной строки каждые 3 секунды и выводится на консоль. Он работает с любым приложением, открытым как активное при первом запуске.

Тем не менее, он не меняется от первого приложения впоследствии. 1. Почему он это делает? 2. Какой правильный код, чтобы заставить его работать? 3. Есть ли способ просто получить имя приложения каждый раз, когда изменяется приложение переднего плана? (желательно в быстрой или obj-c)

1 ответ

Решение

Есть ли способ просто получить имя приложения каждый раз, когда изменяется приоритетное приложение?

Используйте уведомление NSWorkspace NSWorkspaceDidActivateApplicationNotification,

Другие вопросы по тегам