Хорошо.Я думаю, я понял это, но это немного странно (мне пришлось удалить приложение и заново извлечь его из архива .zip для приложения, которое я тестировал, скачанного из Интернета).
Итак, мой комментарийвсе выше применимо - простой способ удалить правило, позволяющее приложению по пути, похоже, не работает:
Я не уверен, что это ошибка в spctl или что, но это не такКажется, я не могу удалить правило, основанное на пути.Я всегда получаю сообщение об ошибке: "{путь к приложению}: нет совпадений для операции поиска или обновления": - /
Однако другой способ ссылки на правила заключается в использовании их "номера правила" и--rule
параметр.Чтобы найти номер правила, мне пришлось использовать команду, которая, как представляется, не документирована в выходных данных --help или на странице man: --list
spctl -v -v -v -v --list -t execute
перечисляет все правила выполнения, и вы можетесм. правило (обычно вверху вывода) для вашего приложения.Номер правила находится в крайнем левом углу перед «[», что для метки или группы.
Затем вы можете удалить правило с помощью
spctl -v -v --remove --rule 5417
(очевидно, заменив 5417 правилом для вашей записи.
Тогда, если вы сделаете spctl -v -v --raw -a --path "path to your app"
, тогда вы будетевидите, что ключ assessment:verdict
теперь ложен.
Странно то, что когда я сразу же запустил приложение, по крайней мере, 10.13.6, оно по-прежнему запускается без диалога ...: - /Я думаю, что это ситуация с кэшированием, потому что после того, как я удалил приложение и повторно извлек приложение, оно все еще запускалось.
Но после того, как я очистил корзину и запустил какое-то другое приложение, а затем вернулся и извлек это приложениеи запустил его снова, я получил ожидаемую, ваша политика не позволяет этому приложению запускать диалог.
Попробуйте и посмотрите, работает ли это для вас.