Соответствующие сообщения:
Использование AppleScript для изменения настроек / системных настроек
команда терминала для изменения расширенных настроек безопасности и конфиденциальности
Использовать AppleScript, чтобы изменить Системные настройки, не отображая их?
В ма c ОС я хотел бы изменить настройки «Конфиденциальность» в настройках «Безопасность и конфиденциальность» в автоматическом режиме ... вероятно, в форме сценария.
Например, я хотел бы написать некоторый код, который позволит мне быстро разрешить / запретить доступ приложения к моей камере.
Мой попытки с помощью сценария Apple:
Я собрал скрипт, который позволяет мне открыть страницу настроек «Безопасность и конфиденциальность». Кроме того, я могу специально открыть настройки конфиденциальности для камеры.
tell application "System Preferences"
activate
set securityPane to pane id "com.apple.preference.security"
tell securityPane
reveal anchor "Privacy_Camera"
end tell
end tell
Это было здорово! В этот момент казалось, что все остальное должно быть легко. Для приложения в списке выберите разрешить / запретить доступ. Однако я не смог изменить настройки. Из других примеров сценариев Apple видно, что нужно понимать вкладки, группы, области прокрутки и т. Д. c. Ссылка для навигации по элементам пользовательского интерфейса в определенном окне была бы полезной ... есть ли она?
Первая упомянутая выше SO-статья была полезна, она показала мне, как перечислить элементы пользовательского интерфейса.
set myArray to {}
tell application "System Preferences"
activate
delay 2
set the current pane to pane id "com.apple.preference.security"
delay 2
tell application "System Events"
tell window "Security & Privacy" of application process "System Preferences"
repeat with uiElem in entire contents as list
set myArray to myArray & ((class of uiElem as string) & " : " & name of uiElem as string)
end repeat
end tell
end tell
end tell
Однако попытки навигации и изменения различных элементов (областей прокрутки, групп, флажков) были не очень плодотворными.
Я чувствую, как будто я очень близко, может быть, кто-то может указать мне правильное направление.
Пара мыслей:
1) Это кажется немного за бортом просто чтобы иметь возможность изменить настройки конфиденциальности.
2) Есть ли более прямой метод из командной строки?
2.a) Я сталкивался с методами изменения настроек в базе данных sql ... Я не очень знаком с базами данных sql ... может быть, мне следует ...
2.b) Метод поста 2nd SO , упомянутого выше, является более прямым. Кажется, что я должен узнать больше о ma c os, чтобы понять, как использовать эту опцию.
3) Это не обязательно должно быть в сценарии Apple ... Я открыт для других предложений.