Введение / Зачем это нужно
Gatekeeper — это встроенная система безопасности macOS, которая проверяет, подписанные ли приложения разработчиками, имеющим действительный сертификат Apple Developer ID, и не были ли они изменены после подписания. Она предотвращает запуск потенциально вредоносного ПО из неизвестных источников.
Однако эта система иногда излишне строга:
- Вы пытаетесь запустить полезное приложение от небольшого независимого разработчика, не прошедшего официальную проверку Apple.
- Вам нужно протестировать собственное приложение, которое вы только начали разрабатывать.
- Вы используете старую версию легитимного ПО, сертификат которого истек.
Этот гайд объясняет, как временно или полностью отключить Gatekeeper, чтобы запускать любые приложения. Внимание: Отключение снижает уровень защиты вашей системы. Всегда включайте Gatekeeper обратно после установки необходимого ПО.
Требования / Подготовка
Перед началом убедитесь, что:
- У вас есть доступ к учётной записи администратора macOS (потребуется пароль для
sudo). - Вы понимаете риски запуска неподписанного ПО.
- Приложение, которое вы хотите запустить, скачано из доверенного источника (официальный сайт разработчика, GitHub и т.д.).
- Вы готовы включить Gatekeeper обратно после завершения работы с приложением.
Пошаговая инструкция
Способ 1: Временное обходное решение для одного файла (Самый безопасный)
Этот метод не отключает Gatekeeper глобально, а просто разрешает запуск конкретного файла, который macOS пометил как «из непроверенного источника».
- В Finder найдите файл приложения (обычно это файл с расширением
.app). - Зажмите клавишу
Controlи кликните (или кликните правой кнопкой мыши) по иконке приложения. - В контекстном меню выберите «Открыть».
- Появится предупреждение. Нажмите «Открыть».
- macOS запомнит это решение для данного файла. В последующие разы приложение будет запускаться обычным двойным кликом.
💡 Совет: Этот способ идеален для единичных случаев. Он не меняет глобальные настройки безопасности системы.
Способ 2: Полное отключение Gatekeeper через Terminal
Этот метод меняет системную настройку и отключает проверку подлинности для всех приложений. После этого в настройках безопасности появится опция «Везде».
- Откройте приложение Терминал (можно найти через Spotlight —
Cmd+Пробел, ввести «Терминал»). - Введите следующую команду и нажмите
Enter:sudo spctl --master-disable - Система запросит пароль администратора. Введите его (символы не отображаются, это нормально) и нажмите
Enter. - Если команда выполнена без ошибок, Gatekeeper отключен.
Шаг 3: Верификация статуса
Чтобы убедиться, что настройка применилась, выполните в том же Терминале:
spctl --status
Ожидаемый результат:
assessments disabled— Gatekeeper отключен.enabled— Gatekeeper включен (работает в обычном режиме).
Вы также можете проверить настройки в Системные настройки → Конфиденциальность и безопасность → Безопасность. В пункте «Разрешить загрузку приложений из:» должен появиться вариант «Везде».
Шаг 4: Возврат к нормальной работе (Включение Gatekeeper)
Не забывайте включать Gatekeeper обратно! Как только вы установили и проверили необходимое приложение, выполните в Терминале:
sudo spctl --master-enable
Или в настройках безопасности снова выберите «App Store и идентифицированные разработчики».
Проверка результата
- Для Способа 1: Попробуйте запустить проблемное приложение обычным двойным кликом. Оно должно открыться без предупреждения.
- Для Способа 2: Перейдите в любую папку и попробуйте запустить любое приложение (даже стандартное, например, TextEdit). Никаких предупреждений о источнике появляться не должно.
- Проверка статуса: Команда
spctl --statusдолжна показыватьassessments disabled(если отключили) илиenabled(если включили).
Возможные проблемы
Проблема: «Приложение повреждено и не может быть открыто. Его следует переместить в Корзину.»
Причина: Помимо Gatekeeper, macOS может применять атрибут карантина (com.apple.quarantine) к файлам, скачанным из интернета. Даже отключённый Gatekeeper может блокировать такие файлы.
Решение:
- Узнайте путь к приложению (перетащите иконку приложения в окно Терминала, путь вставится автоматически).
- Выполните команду, удаляющую атрибут:
Например:xattr -d com.apple.quarantine /путь/к/приложению.appxattr -d com.apple.quarantine /Applications/MyApp.app
Проблема: Команда spctl не найдена (command not found).
Причина: Крайне маловероятно для стандартной установки macOS. Может быть, вы используете сильно урезанную среду или неправильный путь к утилите. Решение: Убедитесь, что вы используете стандартную оболочку (bash или zsh). Попробуйте указать полный путь:
sudo /usr/sbin/spctl --master-disable
Проблема: Приложение всё равно не запускается, хотя Gatekeeper отключён.
Причина: Приложение может быть повреждено, несовместимо с вашей версией macOS (например, 32-битное приложение на macOS Catalina и новее) или требовать другие системные библиотеки. Решение:
- Попробуйте перекачать приложение с официального сайта.
- Проверьте системные требования приложения.
- Если это 32-битное приложение, на macOS 10.15 (Catalina) и новее оно незапускаемо в принципе. Нужно искать 64-битную версию или использовать виртуальную машину со старой macOS.
Проблема: «Операция не разрешена» при выполнении sudo spctl.
Причина: У вашего пользователя может не быть прав администратора, или включён System Integrity Protection (SIP), который может ограничивать некоторые системные настройки (хотя для spctl это обычно не актуально).
Решение: Убедитесь, что вы вошли в учётную запись с правами администратора. Для смены некоторых глубоких настроек может потребоваться отключение SIP, но это не рекомендуется и не нужно для отключения Gatekeeper.