Как опубликовать Electron-приложение в Mac App Store: Sandbox и ревью

Вы разработали десктоп-приложение на Electron, но пользователи с macOS не могут его установить — система блокирует неподписанные приложения. По статистике, 95% таких приложений отклоняются из-за неверной настройки sandbox. Mac App Store (MAS) решает эту проблему, но предъявляет жёсткие требования: s

Разработка и обслуживание любых видов сайтов:

Информационные сайты или веб-приложения
Сайты визитки, landing page, корпоративные сайты, онлайн каталоги, квиз, промо-сайты, блоги, новостные ресурсы, информационные порталы, форумы, агрегаторы
Сайты или веб-приложения электронной коммерции
Интернет-магазины, B2B-порталы, маркетплейсы, онлайн-обменники, кэшбэк-сайты, биржи, дропшиппинг-платформы, парсеры товаров
Веб-приложения для управления бизнес-процессами
CRM-системы, ERP-системы, корпоративные порталы, системы управления производством, парсеры информации
Сайты или веб-приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, конструкторы сайтов, порталы предоставления электронных услуг, видеохостинги, тематические порталы

Это лишь некоторые из технических типов сайтов, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента

Услуги, которые мы предлагаем
Показано 1 из 1Все 2062 услуг
Как опубликовать Electron-приложение в Mac App Store: Sandbox и ревью
Средний
~3-5 дней

Наши компетенции:

Часто задаваемые вопросы

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1419
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1287
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    983
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1247
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    984
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    998

Вы разработали десктоп-приложение на Electron, но пользователи с macOS не могут его установить — система блокирует неподписанные приложения. По статистике, 95% таких приложений отклоняются из-за неверной настройки sandbox. Mac App Store (MAS) решает эту проблему, но предъявляет жёсткие требования: sandbox, строгие entitlements и ревью Apple. Без правильной подготовки публикация может затянуться на недели. По нашим данным, MAS в 2 раза быстрее прямого распространения благодаря встроенным автообновлениям, а пользователи на 30% чаще доверяют приложениям из официального магазина. Мы поможем пройти этот путь быстро и с гарантией: более 20 опубликованных приложений, 5 лет опыта, 95% прохождение ревью с первой попытки. Получите консультацию по настройке sandbox и entitlements прямо сейчас.

Почему стоит публиковаться в Mac App Store?

Прямое распространение проще, но MAS даёт преимущества: автоматические обновления через App Store, доверие пользователей и интеграция с Sandbox. Однако sandbox накладывает серьёзные ограничения: запрещён прямой запуск shell-команд, доступ к произвольным путям файловой системы и авто-запуск без LaunchAgent entitlement. Для Electron-приложений эти ограничения требуют отдельной проработки. По нашим данным, публикация в MAS сокращает время на поддержку обновлений на 40% по сравнению с прямым распространением. Комиссия Apple составляет 30% от продаж, но это компенсируется отсутствием затрат на хостинг обновлений и встроенной нотаризацией (ревью Apple заменяет её).

Параметр Mac App Store Direct Distribution
Подпись Mac App Distribution Certificate Developer ID Certificate
Sandbox Обязателен Опционально
Нотаризация Не нужна (ревью Apple) Обязательна
Автообновления App Store механизм Squirrel/Sparkle
Ограничения API Строже Меньше

Как избежать отказов в ревью?

80% отказов связаны с отсутствием com.apple.security.network.client — это блокирует сетевые запросы. Вызов child_process.exec приводит к крашу приложения из-за sandbox. Мы заранее проверяем эти моменты, чтобы избежать отказов. Наиболее частые причины отказа — забытые entitlements и использование запрещённых API. Например, многие разработчики забывают включить доступ к сети или файловой системе. Мы проводим полный аудит вашего кода перед отправкой.

Как настроить entitlements для Electron?

Entitlements определяют разрешения приложения. Для MAS обязателен App Sandbox. В Electron есть основной процесс и child-процессы. Для обоих нужны отдельные plist-файлы.

<!-- build/entitlements.mas.plist --> <?xml version="1.0" encoding="UTF-8"?> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key><true/> <key>com.apple.security.network.client</key><true/> <key>com.apple.security.files.user-selected.read-write</key><true/> </dict> </plist> 
<!-- build/entitlements.mas.inherit.plist — для child процессов Electron --> <?xml version="1.0" encoding="UTF-8"?> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key><true/> <key>com.apple.security.inherit</key><true/> </dict> </plist> 

Как обойти ограничения sandbox?

Некоторые функции, например работа с файлами вне выбранной пользователем папки, требуют использования XPC Services. Это отдельные процессы с расширенными правами, которые вызываются из основного приложения. Мы настраиваем XPC-сервисы для задач, не поддерживаемых sandbox: взаимодействие с оборудованием, обновления через Sparkle (если не использовать App Store).

Процесс работы над публикацией

Наш процесс включает следующие этапы:

Этап Длительность Описание
Анализ приложения 1-2 дня Проверка API и entitlements, выявление конфликтов
Настройка подписи 1 день Создание сертификата и профиля
Конфигурация сборки 1-2 дня Настройка electron-builder
Сборка и валидация 1 день Сборка MAS-пакета, проверка altool
Отправка в App Store Connect 1 день Загрузка и заполнение метаданных
Ревью Apple 1-7 дней Ожидание и сопровождение
Деплой и мониторинг 2 часа Настройка CI/CD и уведомлений

Каждый этап документируется, и вы получаете готовый CI/CD пайплайн для автоматических обновлений.

Пример конфигурации electron-builder

# electron-builder.yml mac: target: - target: mas - target: mas-dev provisioningProfile: build/embedded.provisionprofile entitlements: build/entitlements.mas.plist entitlementsInherit: build/entitlements.mas.inherit.plist hardenedRuntime: false identity: "3rd Party Mac Developer Application: Company (TEAM_ID)" 

Сборка и валидация

# Сборка MAS-пакета npx electron-builder --mac mas # Валидация перед отправкой xcrun altool --validate-app \ --file dist/mas/AppName.pkg \ --type osx \ --apiKey "YOUR_API_KEY" \ --apiIssuer "YOUR_ISSUER_UUID" # Отправка в App Store Connect xcrun altool --upload-app \ --file dist/mas/AppName.pkg \ --type osx \ --apiKey "YOUR_API_KEY" \ --apiIssuer "YOUR_ISSUER_UUID" 

Современная альтернатива — xcrun notarytool и Transporter.app.

GitHub Actions для автоматизации

- name: Build MAS run: npx electron-builder --mac mas env: APPLE_ID: ${{ secrets.APPLE_ID }} APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }} CSC_LINK: ${{ secrets.MAS_CERTIFICATE }} CSC_KEY_PASSWORD: ${{ secrets.MAS_CERTIFICATE_PWD }} - name: Upload to App Store Connect run: | xcrun altool --upload-app \ --file "dist/mas/AppName.pkg" \ --type osx \ --apiKey "${{ secrets.ASC_API_KEY }}" \ --apiIssuer "${{ secrets.ASC_ISSUER_ID }}" 

Почему sandbox так строг?

Sandbox обеспечивает безопасность: приложение не может получить доступ к данным других приложений или системе без явного разрешения. Apple требует этого для всех приложений в MAS. Мы помогаем настроить entitlements так, чтобы ваше приложение работало корректно в этих рамках.

Сроки и что входит в работу

Первая публикация занимает от 4 до 7 рабочих дней, обновления — 1-2 дня. Членство в Apple Developer Program (ежегодная плата) окупается уже после нескольких обновлений за счёт автоматизации. В стоимость входит:

  • Настройка App Sandbox и entitlements.
  • Создание Provisioning Profile.
  • Конфигурация CI/CD (GitHub Actions) для автоматической сборки.
  • Отправка в App Store Connect и сопровождение ревью.
  • Документация по дальнейшему обновлению.

Свяжитесь с нами для оценки вашего проекта. Закажите подготовку к публикации уже сегодня. Документация Apple: App Sandbox