Задать вопрос
@Drovosek01

Как в macOS Ventura и Sonoma и новее инициировать запрос на добавление приложения в раздел настроек «Управление приложениями»?

Начиная с macOS Ventura или новее изменился не только вид системных настроек но и добавились новые разделы настроек. В разделе "Security & privacy" появился раздел "App Management".

Я часто выполняю скрипты вручную на своих компьютерах и на компьютерах своих друзей и бывает это скрипты для модификации приложений.
Например скрипт изменяет какие-либо файлы внутри приложения, то есть файлы внутри ...app/Contents/*
Будем называть это преложение "Подопытное"

Если в macOS Ventura или новее выполнять этот скрипт первый раз то он на определенном шаге выдаст ошибки "zsh: operation not permitted: ..." и справа вверху появится уведомление от "Privacy & Security".
Необходимо навести курсор на это уведомление и в нем появится кнопка "Allow" нажав на которую откроются системные настройки на странице "App Management" и в списки приложений будет добавлен Терминал и необходимо будет вручную активировать переключатель здесь в строке с терминалом.

1b78092cf3139736ce66e212d0d807a0.png

После этого повторное выполнение скрипта будет сделано без ошибок.

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

===

Проблема в том, что я не могу на своем компьютере повторно вызвать эту ошибку.
Я установил Подопытное (переместил его из оригинального dmg в папку Приложения) и потом выполнил свой скрипт в терминале и потом я добавил терминал в список "App Management" и выполнил скрипт повторно.
Потом я удалил терминал из списка "App Management" (и проверил что терминал отсутствует в списке "Full Disk Access") и удалил Подопытное и перезапустил Mac.

Я установил Подопытное повторно и выполнил скрипт снова и он выполнил без ошибок и без появления уведомлений с запросами (хотя терминал отсутствует в списке "App Management" и в списке "Full Disk Access").

Я переустанавливал Подопытное и включал и выключал разные системные настройки и перезапускал Mac. Несколько раз.

Но теперь скрипт выполняется без ошибок.
Это плохо потому что я не могу выполнить тестирование и написать обработку этой ошибки, если мой скрипт будет выполнять другой человек на другом компьютере.


===

Я поискал информацию в интернете на эту тему но ее оказалось катастрофически мало. Вот статьи которые я посчитал полезными:
https://lapcatsoftware.com/articles/AppManagement.html
https://lapcatsoftware.com/articles/2023/8/2.html
https://lapcatsoftware.com/articles/2023/8/3.html

Если я правильно понял, то выдав для какого-либо приложения (например для Терминала) разрешение App Management и выполнив модификацию другого приложения (например Подопытное) то потом можно всегда модифицировать это приложение (или любые другие приложения с подписью этого же разработчика) даже если у терминала нет разрешения на Управление приложениями

Я правильно понял?
Это как-то можно изменить?
Как тогда обрабатывать тот случай когда у Терминала нет разрешения на модификацию файлов внутри приложения (точне как тогда повторно вызвать запрос на добавление Терминала в список App Management)?
  • Вопрос задан
  • 72 просмотра
Подписаться 1 Средний 3 комментария
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы