Я ищу способ определить второе переднее приложение. Вот что я имею в виду.
Допустим, я запускаю три приложения в следующем порядке: Xcode, Interface Builder и мое приложение. Если я нажму вкладку «Command», в коммутаторе появятся четыре приложения: (слева направо) мое приложение, Interface Builder, Xcode и Finder.
Скажем так, я переключаюсь на Finder. Новый порядок в переключателе приложений: Finder, мое приложение, Interface Builder и Xcode.
Если я затем переключаюсь обратно на свое приложение, то теперь заказ - это мое приложение, Finder, Interface Builder и Xcode.
Я ищу API, с помощью которого я могу вызвать его и получить ответ, что во время запуска Interface Builder является вторым приложением, но когда я переключаюсь на него, теперь это Finder.
Если это не так, мое приложение фактически не будет отображаться в переключателе приложений, поскольку это будет приложение агента (LSUIElement = YES).
Есть ли API, который может это сделать? Единственная альтернатива, которую я нашел, - это запустить таймер, который непрерывно следит за активным приложением, согласно NSWorkspace. Это работает хорошо, кроме как во время запуска. Я хотел бы знать второе переднее приложение при запуске, если это возможно.
Есть идеи?