Если вы хотите использовать Терминал для управления другими приложениями через AppleScript, вы должны дать разрешение. Но это не сложно, потому что система запросит необходимое разрешение, если вы его еще не дали.
Например, я только что сказал
$ osascript -e 'tell app "Finder" to close window 1'
и увидел этот диалог:
Я нажал кнопку ОК, и окно закрылось, как было приказано. Нет проблем. Таким образом, вы увидите что-то подобное для XCode, вы дадите разрешение, и это будет так. Разрешение записывается на панели настроек «Безопасность и конфиденциальность» в разделе «Автоматизация».
Если вы предпочитаете проходить через системные события, разрешение записывается в разделе «Доступность». Обратите внимание, что , что - это разрешение, которое вы можете предоставить заранее. Но вам все равно нужно go через диалоговое окно, чтобы вы могли дать терминалу разрешение на общение с системными событиями.
Если вы отказываете в доступе в диалоговом окне и хотите, чтобы вас снова спрашивали, используйте tccutil
для сброса база данных. Хорошая дискуссия здесь: https://apple.stackexchange.com/questions/384230/how-do-i-reset-screen-recording-permission-on-macos-catalina