Как изменить «Безопасность и конфиденциальность» с помощью сценария Apple и / или командной строки - PullRequest
0 голосов
/ 16 апреля 2020

Соответствующие сообщения:

Использование 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 ... Я открыт для других предложений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...