Принудительная команда `open`, чтобы открыть неподписанное приложение?


21

У меня есть настройки безопасности, позволяющие загружать приложения из «Mac App Store и определенных разработчиков». Когда я пытаюсь открыть неподписанное приложение:

open xyz.app

Я вижу следующее:

Приложение не может быть открыто

Обычно я щелкаю правой кнопкой мыши по приложению и нажимаю «Открыть». Это вызывает аналогичное диалоговое окно, но оно включает кнопку типа «все равно открыть»:

Приложение не может быть открыто, с кнопкой открытия

Есть ли способ сделать это только с помощью openкоманды - что-то вроде:

open --even-if-unsigned xyz.app

Ответы:


33
  1. Создайте и добавьте ярлык гейткипера в приложение. («Одобрено» - произвольная строка.)

    spctl --add --label "Approved" /path/to/xyz.app
  2. Одобрить все приложения с меткой.

    spctl --enable --label "Approved"

    Это нужно сделать только один раз, и добавление одноименной метки в приложения в будущем автоматически разрешит им доступ.

  3. Откройте приложение как обычно.

    open xyz.app

Для получения дополнительной информации о spctl (безопасность политики системы SecAssessment) см. Справочную страницу.


3
Ах, новое дополнение к списку вещей, которые я раньше только знал, как делать с графическим интерфейсом, а теперь могу делать из командной строки! Благодарность!
LSpice

19

Вы можете удалить карантин из приложения:

xattr -r -d com.apple.quarantine /path/to/xyz.app

Возможно, вы захотите / должны использовать sudoэту команду в зависимости от разрешений.

Тогда привратник вообще не участвует. Конечно, это также означает, что подпись не проверена, что устраняет важную функцию безопасности.


Мне тоже нравится этот ответ. Жаль, что я могу выбрать только один!
Бон

Это работало для моей ручной установки OpenJDK. Благодарность!
fachexot
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.