Выполнять действия в определенном окне приложения с AppleScript - PullRequest
0 голосов
/ 25 декабря 2018

Я создаю приложение macOS для управления местоположениями, отправляемыми на устройство iOS через файл GPX в режиме отладки, поэтому мне нужно, чтобы окна Xcode были открыты для каждого проекта.Я получил AppleScript, который нажимает Debug -> Simulate Location -> «my gpx file name» для постоянных обновлений местоположения.Однако он работает только в том случае, если окно с проектом iOS (с помощью которого я имитирую местоположение) находится на переднем крае.

Я хочу, чтобы скрипт мог выполнять указанные действия только над окном с определенным именем (илискорее, чье имя содержит ...), независимо от иерархии.Я не хочу, чтобы он выводился на передний план или активировался, так как я мог бы что-то кодировать во время выполнения сценария.

Я пробовал много способов, но с моим ограниченным пониманием AppleScript я либополучить ошибку (например, «Не удается найти пункт меню 1 в бла-бла-бла процесса Xcode») или окно активируется и не работает в «фоновом режиме».

repeat while true
    tell application "System Events" to tell process "Xcode"
        click menu item "MyLocation" of menu 1 of menu item "Simulate Location" of menu 1 of menu bar item "Debug" of menu bar 1
    end tell
    delay 0.2
end repeat

ЭтоМожно ли вообще выполнить какое-либо действие с неактивным окном? Я думал, что это так, поскольку система позволяет вам прокручивать, не фокусируя окно.

...