Откройте приложение с помощью AppleScript - PullRequest
1 голос
/ 27 апреля 2020

Я хочу открыть приложение, используя AppleScript. Я знаю, что для открытия приложения используется следующее:

tell application "<AppName>" to activate

Я также пытался использовать «установить передний план процесса».

Однако это не работает с приложением, которое я хочу открыть. Когда окно приложения открывается в фоновом режиме, «сказать приложение» выводит его на первый план. С другой стороны, если окно закрыто, ничего не происходит. Я думаю, что это потому, что приложение работает как приложение агента с "LSUIElement", установленным в "true". Это приложение запускается launchctl при запуске системы.

Есть ли способ открыть такое приложение? Проблема может быть воспроизведена с помощью приложения «Box».

Ждем ваших добрых ответов.

Обновление: я заметил следующие сообщения журнала в файле журнала, когда я вручную открывал приложение.

ERR [main-thread](118)home view will appear
ERR [main-thread](121)UI is already loaded
ERR [main-thread](34)websecurity viewWillAppear
ERR [main-thread (1818)applicationWillbecomeActive

Однако, только последнее сообщение появляется в журнале через AS. Так что, думаю, мне нужно выяснить, как были вызваны другие 3 сообщения журнала.

1 Ответ

0 голосов
/ 29 апреля 2020

LSUIElement, установленный в значение true, означает, что приложение будет работать только как фоновое приложение: оно может отображать окно, но оно не будет отображаться в доке или в приложении выбора, переходить к панели системного меню или выполнять какие-либо из другие вещи графического интерфейса, которые обычно делает приложение. Чтобы проверить, работает ли он, откройте Activity Monitor и найдите его имя в списке запущенных приложений или выполните следующий код в AppleScript:

tell application "System Events"
    set procs to name of every process
    if procs contains "<AppName>" then
        say "Whoo Hoo!"
    end if
end tell
...