Подпись и нотаризация простыми словами для тех, кто делает первое Mac-приложение
Автор: Justinas Rolando, создатель MacPip
Подпись ставит ваше имя на приложение и показывает, что оно не менялось. Нотаризация отправляет его на автоматическую проверку Apple. Степлинг прикрепляет результат, чтобы его можно было проверить без сети. Делайте это именно в таком порядке и в самом конце, когда сборка готова.
Если вы запускали приложение только из Xcode, этот этап выпуска может показаться стеной из сертификатов. Идеи простые, и их всего три. Полные подробности, со ссылками на документы Apple, есть в объяснении того, что такое нотаризация на Mac. Эта статья: короткая версия для создателей.
Три шага
- Подпись это ваше имя на приложении. Сертификат Developer ID от Apple показывает, кто его сделал, а подпись показывает, что с тех пор ничего не менялось. Чтобы получить сертификат, нужна подписка Apple Developer Program, за 99 $ в год.
- Нотаризация это автоматическая проверка. Вы загружаете подписанное приложение, сервис Apple ищет вредоносный код и проблемы с подписью, и если ничего не находит, выдаёт билет. Никто в Apple приложение не использует, и это не App Review.
- Степлинг прикрепляет этот билет к вашему файлу, чтобы Mac мог проверить его без интернета.
Если вы продаёте только через Mac App Store, последние два шага можно пропустить. Apple подписывает приложения магазина, и её документация говорит, что в процессе магазина есть такие же проверки безопасности.
Что увидят пользователи, если это пропустить
Пользователи получают предупреждение. macOS говорит, что не может проверить приложение, а начиная с macOS Sequoia Control-клик его уже не обходит. Нужно зайти в «Системные настройки» и выбрать «Всё равно открыть». Некоторые на этом моменте сдаются, и я их не осуждаю. Что значит «Apple не смогла проверить» показывает то же предупреждение со стороны пользователя, и это стоит прочитать один раз.
Порядок, который экономит полдня
- Завершите сборку. Любое изменение после подписи ломает подпись.
- Сначала подпишите вложенный код, например фреймворки и вспомогательные программы, а потом само приложение. Используйте hardened runtime и безопасную метку времени, потому что нотаризация требует и того и другого.
- Если выпускаете в DMG, упакуйте так и подпишите сам образ.
- Отправьте командой
notarytool. Apple говорит, что проверка обычно занимает меньше часа. - Читайте лог, даже если всё прошло успешно.
- Выполните степлинг командой
stapler.
Проверьте свою сборку
spctl -a -vv /Applications/YourApp.app xcrun stapler validate /Applications/YourApp.app
Из первой команды нужен вывод source=Notarized Developer ID, из второй сообщение об успехе. Вставьте всё, что получилось, в объяснение нотаризации: там скажут, что означает каждая строка, или подскажут, если что-то не распознано. Текст обрабатывается в вашем браузере и никуда не отправляется.
Затем сделайте тест, который ловит больше всего: скачайте свою сборку через браузер на другом Mac или в другой учётной записи и откройте её. В чек-листе запуска это и остальные шаги в правильном порядке.
Что не значит «нотаризовано»
Это не значит, что приложение хорошее, приватное или безопасное. Это значит, что автоматическая проверка Apple не нашла ничего известного ей. Не обещайте на сайте большего. Как понять, безопасно ли Mac-приложение: что каждая проверка может и чего не может доказать, с точки зрения пользователя.
Что MacPip делает с этим
MacPip просит подписанные и нотаризованные загрузки. Приложения с открытым исходным кодом приветствуются и без этого, а в их отчёте об этом прямо сказано. Синяя галочка означает, что человек проверил приложение в указанную дату, а подпись и нотаризация попадают в отчёт, только если мы подтвердили их на скачанной копии. Это не гарантия безопасности, и об этом говорят наши правила. Когда сборка готова, можно добавить её бесплатно.
Real listings to look at
Check reports on MacPip say what was confirmed on a real copy. These two developer-minded listings are good ones to open and read.
ShediA Mac cleaner for developers that explains every item before it goes.Cleanup and Maintenance, checked October 30, 2026SpaceWiseSpaceWise safely cleans developer disk clutter like node_modules and Docker caches.Developer Tools, checked October 30, 2026
Источники
- Apple Developer: нотаризация ПО для macOS перед распространением
- Apple Developer: подпись Mac-ПО с помощью Developer ID
- Apple Developer News: обновления защиты во время выполнения в macOS Sequoia
- Руководство MacPip: что такое нотаризация на Mac?
Читайте дальше
- Как запустить Mac-приложение: чек-лист на одну страницуЧто делать до, в день и после запуска Mac-приложения: подпись, ваша страница, каталоги, Product Hunt, Show HN и что измерять.
- Как написать однострочное описание, которое говорит, что делает ваше Mac-приложениеПростой способ написать строку под названием Mac-приложения: назовите задачу, уберите хайп и проверьте текст на человеке, который приложение ещё не видел.
- Чего на самом деле стоит dofollow-ссылка, по мнению сайта, который её предлагаетЧто означает dofollow, что Google говорит о ссылках, почему ссылка из нового каталога сегодня мало стоит и что делать вместо покупки ссылок.