Как я могу закрыть указанный проект c Xcode из командной строки, без Applescript? - PullRequest
0 голосов
/ 16 марта 2020

Я хотел бы закрыть указанный c проект Xcode из командной строки, не закрывая другие проекты (поэтому я не могу просто использовать kill). Applescript проблематичен c в Каталине из-за необходимых дополнительных разрешений. Есть ли другой способ сделать то, что я хочу?

1 Ответ

0 голосов
/ 16 марта 2020

Если вы хотите использовать Терминал для управления другими приложениями через AppleScript, вы должны дать разрешение. Но это не сложно, потому что система запросит необходимое разрешение, если вы его еще не дали.

Например, я только что сказал

 $ osascript -e 'tell app "Finder" to close window 1'

и увидел этот диалог:

enter image description here

Я нажал кнопку ОК, и окно закрылось, как было приказано. Нет проблем. Таким образом, вы увидите что-то подобное для XCode, вы дадите разрешение, и это будет так. Разрешение записывается на панели настроек «Безопасность и конфиденциальность» в разделе «Автоматизация».

Если вы предпочитаете проходить через системные события, разрешение записывается в разделе «Доступность». Обратите внимание, что , что - это разрешение, которое вы можете предоставить заранее. Но вам все равно нужно go через диалоговое окно, чтобы вы могли дать терминалу разрешение на общение с системными событиями.

Если вы отказываете в доступе в диалоговом окне и хотите, чтобы вас снова спрашивали, используйте tccutil для сброса база данных. Хорошая дискуссия здесь: https://apple.stackexchange.com/questions/384230/how-do-i-reset-screen-recording-permission-on-macos-catalina

...