macOS релиз 14 мая 2026 г. около 24 мин Нотаризация Удалённый Mac

2026 Нотаризация macOS и stapler
Аренда VNC Mac: от notarytool до смока Gatekeeper

Без локального железа: runbook отправки, логов, stapler и офлайн-проверки на облачном Mac

Ноутбук как метафора безопасной доставки ПО

Вне Mac App Store подписанные DMG, PKG и инструменты требуют цепочки доверия: Gatekeeper и notarytool сдвигают ошибки к подписи, hardened runtime, билету и stapler. На арендованном Mac чаще не хватает доказательств: UUID отправки, полного JSON из notarytool log, Keychain того же пользователя и часов, согласованных с TLS. Здесь — матрица SSH / смешанный / VNC, восемь шагов, четыре вывода для тикета и 20-минутная таблица приёмки. Ссылки: первый запуск 30 минут, NTP и сертификаты, Fastlane Match, диск и DerivedData, срочный hotfix TestFlight, экстренный iOS runbook.

01

Боль: нотаризация — цепочка, а не одна команда

Пользователи вне Store оценивают бинарник эвристиками Gatekeeper. Аренда снимает «нет Apple Silicon», но добавляет разрыв сессий, дрейф часов, прокси и границы аренды, которые удаляют ZIP, если их не промотировать во внешнее хранилище.

  1. 01

    Потерянные логи: без notarytool log вы сжигаете квоту на одной ошибке entitlements.

  2. 02

    Store и вне Store: Organizer не заменяет нотаризационные доказательства.

  3. 03

    SSH-театр Keychain: код 0 без реальных диалогов согласия.

  4. 04

    Дрейф runtime: правки в Xcode, а не в zip.

  5. 05

    Нет отпечатка среды: нельзя воспроизвести версии инструментов.

  6. 06

    Диск: см. чеклист 20 минут.

02

Матрица: только SSH, смешанный, VNC

Шаг / доказательствоТолько SSHСмешанныйVNC
Архив .appобычно ококлучше для визуала
ZIP и submitококок
Poll / logококок
Keychain / Apple ID / 2FAвысокий рискрекомендуетсярекомендуется
Stapler + validateчастичнорекомендуетсярекомендуется
Объяснение не-разработчикамслабосильномаксимум

Валюта — UUID + JSON + Keychain того же пользователя.

03

Восемь шагов

  1. 01

    Отпечаток: sw_vers, xcodebuild -version, notarytool, lease id.

  2. 02

    Подпись до отправки: codesign -dv --verbose=4, spctl -a -vv; Match — по матрице.

  3. 03

    ZIP: symlinks, SHA256.

  4. 04

    Submit: хранимые секреты; id дословно в тикет.

  5. 05

    Лог при ошибке: JSON до пересборки.

  6. 06

    Фикс в Xcode: entitlements в проекте.

  7. 07

    Stapler: xcrun stapler staple и validate.

  8. 08

    Smoke и промоушн: двойной клик на чистом профиле; вынести артефакты с почасового узла.

bash
xcodebuild -version
notarytool --version
codesign -dv --verbose=4 "Your.app"
ditto -c -k --keepParent "Your.app" "Your.zip"
notarytool submit "Your.zip" --apple-id "$APPLE_ID" --team-id "$TEAM_ID" \
  --password "$APP_SPECIFIC" --wait
notarytool log "$SUBMISSION_ID" > notary-log.json
xcrun stapler staple "Your.dmg"
xcrun stapler validate "Your.dmg"
04

Четыре факта для тикета

  • 1: скрин Accepted + JSON + хеш того же submit.
  • 2: Keychain / Apple ID по умолчанию требуют VNC.
  • 3: ошибки stapler: нет билета vs носитель; не staplerить дважды после смены подписи.
  • 4: тройная проверка часов перед большим релизом.
05

Сетка VNC 20 минут

ПроверкаVNCSSHOK
Тот же пользовательменюid -unсовпадает
Время/TLSДата и времяsntp/curlпо runbook
Submitопциональнострока idUUID сохранён
ЛогJSONjqAccepted
Staplerопционально видеоvalidateофлайн чисто
06

Границы материала и что читать дальше

Официальная документация Apple по флагам notarytool и поведению stapler остаётся первичным источником истины: версии инструментов меняются, и чек-лист на сайте разработчика нужно сверять перед каждым крупным релизом. Эта статья сознательно сужена до эксплуатационного слоя: арендованный удалённый Mac, разделение SSH и VNC, упаковка доказательств для тикета и минимизация типичных ложных следов (время, прокси, чужой пользователь Keychain). Если вы параллельно гоняете пайплайн App Store Connect, вынесите нотаризацию в отдельный тикет с отдельным набором секретов: смешивание пар приложения для нотари сервиса и сессии загрузки в Organizer почти гарантированно даст «плавающие» ошибки, которые команда будет чинить в неверном порядке.

Повторяйте репетицию отката: после публикации DMG зафиксируйте пару «stapler validate + хеш файла + JSON лога» в неизменяемом архиве. Горячие патчи оформляйте новой веткой артефактов, а не перезаписью UUID прошлой отправки — иначе служба поддержки не сможет доказать, какой билд реально стоял у клиента в момент инцидента. На почасовых узлах особенно важно заранее договориться о каталогах: каталог с zip для нотари должен жить вне тяжёлых деревьев DerivedData, иначе в упаковку легко попадут отладочные символы или лишние бинарники, а лог нотари потом долго «рассказывает» про подписи, которых вы визуально не ожидали.

Корпоративные сети любят разделять DNS и TLS: если часть трафика уходит через перехватывающий прокси с HTML-страницей логина, симптомы похожи на сетевой сбой Apple, хотя корень — в политике выхода. Соберите короткий curl -v к нужному хосту и приложите к тикету рядом с NTP-скриншотом из нашего руководства по часам, прежде чем переписывать entitlements. Когда несколько инженеров делят один арендованный Mac, фиксируйте владельца ротации пар приложения и синхронизируйте запись с ACL репозитория Match — иначе безопасность и релиз-инженерия расскажут разные истории об одном и том же инциденте.

Наконец, помните: stapler не «вторая подпись», а прикрепление билета к носителю; офлайн-проверка на чистом профиле пользователя часто быстрее объясняет UX, чем споры в чате. Для очистки диска перед крупной отправкой загляните в материал про DerivedData и архивы, чтобы не потерять логи вместе с промежуточными zip при автоочистке. Если нужен быстрый параллельный маршрут публикации iOS, держите под рукой чек-лист экстренного TestFlight — но не смешивайте его учётные данные с цепочкой нотари вне магазина.

Связанные

Материалы на сайте

FAQ

Вопросы

Часто да для DMG; проверьте носитель и сохраните validate.

Submit/poll обычно да; согласия — VNC тем же пользователем.

Время, прокси, аренда, раздельные Keychain.

Заморозить id, сохранить JSON, маппинг подписи.

Заключение

Дорого обходится не минута upload, а возможность через квартал воспроизвести пакет доказательств. Аренда Apple Silicon с VNC держит терминал и GUI в одной наблюдаемой сессии.

Чтобы повторить приёмку: VNCMacстраница покупки Mac в облаке, центр помощи для подключения.