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

Когда я собираю программу в xcode/terminal и запускаю ее, диалоговое окно с предупреждением отсутствует. Но когда я копирую исполняемый файл на другой компьютер Mac, появляется диалоговое окно с предупреждением.

Итак, что определяет владение исполняемым файлом и как оно определяется Mac?

Спасибо!

1 ответ1

0

Это обрабатывается системой карантина в macOS. Когда файл загружается, загружающая программа (браузер или что-то еще) прикрепляет к файлу специальный расширенный атрибут. Когда он открывается, Launch Services замечает атрибут карантина и применяет некоторые особые ограничения безопасности (например, уведомление, которое вы видите).

См . Заметки разработчика Apple для OS X v10.5 (когда был введен карантин). Вы также можете увидеть расширенный атрибут в терминале с помощью ls -l@ /path/to/file ; это "com.apple.quarantine" один. Вы также можете увидеть атрибуты «com.apple.metadata:kMDItemWhereFroms» и «com.apple.metadata:kMDItemDownloadedDate».

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .