#applescript
#applescript
Вопрос:
Я пытаюсь использовать Remote Buddy для управления Photo Booth, но мне нужен способ переключения между режимами фотосъемки и видео, моим решением было использовать приложение Automator для выбора одной или другой из двух переключателей при нажатии кнопки remote.
Я создал .app, и он отлично работает, когда я дважды щелкаю по нему на рабочем столе, но мне нужен способ запустить .app из Remote Buddy, и AppleScript, похоже, мой единственный вариант.
tl; dr
Мне нужно иметь возможность запускать файл Automator .app с помощью AppleScript, но я не могу определить правильный синтаксис.
Ответ №1:
Если бы я создал приложение Automator с именем Untitled
, я бы запустил его с помощью этой команды tell application "Untitled" to activate
После создания приложения с использованием одного из следующих методов к этому приложению можно получить доступ в любом другом скрипте через его имя. Оно определено глобально, как и любое другое приложение на вашем Mac. Просто используйте tell application "app Name"
Два способа создания приложения :
Комментарии:
1. Являются ли имена приложений глобальными? Нужно ли мне сначала перейти к определенному каталогу или это будет работать из любого места?
Ответ №2:
activate app ((system attribute "HOME") amp; "/Desktop/test.app/")
Вы также можете использовать команду automator
оболочки.
automator test.workflow
automator test.app
automator test.workflow -v # verbose
automator -i lol test.workflow
echo lol | automator -i - test.workflow
automator -i $'lolnlol2' test.workflow # n separates input strings
automator -d somevar=somevalue test.workflow
Ответ №3:
Сначала назовите свое приложение automator, например, «photobooth.app», затем перейдите в applescript и введите
tell application "photobooth.app"
activate
end tell
Ответ №4:
Я делаю это напрямую с помощью сценариев Automator. Это не доступ к приложению, а скорее к рабочему процессу. Это выгодно, потому что вы можете редактировать настройки / содержимое некоторых отдельных элементов рабочего процесса.
Я полагаю, что мой ответ лучше подходит для вопроса:
Как я могу запустить рабочие процессы Automator с помощью AppleScript?
Я считаю, что сохранение действия Automator сначала позволяет избежать проблем. например
set theWorkflowName to "Merge PDF Files"
set myWorkflow to make new workflow with properties {name:theWorkflowName, path:POSIX path of ((path to temporary items as string) amp; theWorkflowName amp; ".workflow" as string)}
set myWorkflow to open POSIX path of ((path to temporary items as string) amp; theWorkflowName amp; ".workflow" as string)
Слияние файлов PDF Droplet
on open the_Droppings
-- CONVERT INPUT LIST OF ALIASES TO POSIX PATHS
repeat with itemStep from 1 to count of the_Droppings
set item itemStep of the_Droppings to POSIX path of item itemStep of the_Droppings
end repeat
tell application "Automator"
activate
set myWorkflow to open POSIX file "/Users/USERNAME/Dropbox/Scripts/Automator/Workflows/merge PDF files.workflow"
set actionsList to name of Automator action of myWorkflow
set firstAction to item 1 of actionsList
tell myWorkflow
(*
get index of Automator action firstAction
get input types of Automator action firstAction
get path of Automator action firstAction
get path of Automator action firstAction
get value of setting of Automator action firstAction
*)
set value of setting of Automator action firstAction to the_Droppings -- MUST BE LIST OF POSIX PATHS
end tell
end tell
end open