Как сделать сертификат разработчика iOS

Без действующего сертификата разработчика Xcode отказывается подписывать приложение, а сборка останавливается с ошибкой вроде «No signing certificate found» или «Failed to create provisioning profile». Это первый барьер, с которым сталкивается каждый, кто хочет запустить своё приложение на реальном iPhone или опубликовать его в App Store. К счастью, процедура создания сертификата разработчика iOS стандартизирована и занимает от нескольких минут до пары дней — в зависимости от того, есть ли у вас уже оплаченный аккаунт Apple Developer.

В этой инструкции разберём весь путь: от регистрации в Apple Developer Program до выпуска сертификатов двух типов — Apple Development для отладки и Apple Distribution для публикации. Также разберём типичные ошибки подписи и способы их устранения.

Что такое сертификат разработчика iOS и зачем он нужен

Сертификат разработчика — это цифровой документ, который Apple выдаёт участнику программы разработчиков и который связывает вашу личность (или компанию) с парой криптографических ключей на вашем Mac. Каждое приложение для iOS должно быть подписано таким сертификатом: без подписи система просто не установит и не запустит сборку на устройстве.

Существует два основных типа сертификатов:

  • 🛠️ Apple Development — для разработки и отладки: позволяет устанавливать приложение на зарегистрированные тестовые устройства через Xcode.
  • 🚀 Apple Distribution — для распространения: подписывает сборки, отправляемые в App Store или распространяемые через TestFlight и Ad Hoc.
  • 🔑 Оба сертификата привязаны к закрытому ключу на вашем Mac — потеря ключа делает сертификат бесполезным.

Отдельно стоит упомянуть provisioning profile — файл, который связывает сертификат, идентификатор приложения (App ID) и список устройств. Xcode умеет управлять профилями автоматически, но понимание этой связки помогает быстрее находить причину ошибок подписи.

Шаг 1. Регистрация в Apple Developer Program

Для выпуска сертификата нужен оплаченный аккаунт разработчика. Бесплатный Apple ID позволяет тестировать приложение только на своём устройстве с ограничениями, но полноценные сертификаты выдаются только участникам программы.

Порядок действий:

  • 📱 Зарегистрируйте Apple ID, если его ещё нет, и включите двухфакторную аутентификацию — без неё вступление в программу невозможно.
  • 💳 Перейдите на сайт Apple Developer и подайте заявку на вступление в Apple Developer Program; на момент написания статьи членство является платным, актуальную стоимость проверяйте на официальном сайте.
  • 🏢 Для регистрации организации потребуется номер D-U-N-S — проверьте его наличие заранее, получение номера может занять время.
  • ⏳ Дождитесь подтверждения: для физических лиц проверка обычно быстрее, для компаний Apple может запросить дополнительные документы.
⚠️ Внимание: данные в заявке (имя, название организации) должны совпадать с официальными документами. Несовпадение — частая причина отказа или задержки верификации аккаунта.

Шаг 2. Создание запроса на сертификат (CSR) в Keychain Access

Запрос на подпись сертификата (CSR — Certificate Signing Request) генерируется на вашем Mac через штатную утилиту Keychain Access (Связка ключей). Во время генерации создаётся пара ключей: закрытый остаётся в связке ключей, а открытый уходит в запросе в Apple.

Откройте Keychain Access и в строке меню выберите путь: Связка ключей → Ассистент сертификации → Запросить сертификат у бюро сертификации. В появившемся окне укажите email (лучше тот, что привязан к аккаунту разработчика), имя и выберите вариант «Сохранено на диск».

☑️ Проверка перед отправкой CSR

Выполнено: 0 / 5

После сохранения вы получите файл с расширением .certSigningRequest. Одновременно в Связке ключей появятся открытый и закрытый ключи — не удаляйте их, иначе выпущенный сертификат окажется бесполезным.

📊 На каком этапе вы сейчас находитесь?
Только регистрируюсь в Apple Developer
Нужно создать CSR
Сертификат создан, но есть ошибки подписи
Переношу сертификат на другой Mac

Шаг 3. Выпуск сертификата в аккаунте разработчика

Имея CSR-файл, переходим к выпуску самого сертификата. Это делается в веб-интерфейсе портала разработчика.

  1. Авторизуйтесь на портале Apple Developer и откройте раздел Certificates, Identifiers & Profiles.
  2. Перейдите на вкладку Certificates и нажмите кнопку создания нового сертификата (значок «+»).
  3. Выберите тип: Apple Development для разработки или Apple Distribution для публикации.
  4. Загрузите ранее созданный файл CSR и подтвердите операцию.
  5. Скачайте готовый файл сертификата с расширением .cer и откройте его двойным кликом — он установится в Связку ключей.

После установки проверьте Связку ключей: сертификат должен отображаться вместе с закрытым ключом, разворачивающимся под ним. Если ключа нет — сертификат был выпущен с CSR с другого Mac, и подписывать им приложения на текущем компьютере не получится.

Как перенести сертификат на другой Mac

В Связке ключей найдите сертификат вместе с закрытым ключом, выделите оба, выберите «Экспортировать» и сохраните файл в формате .p12 с паролем. Перенесите файл на новый Mac и откройте его — ключи импортируются в связку. Альтернатива — создать новый CSR и выпустить отдельный сертификат для второго компьютера.

Шаг 4. Настройка подписи в Xcode

Самый простой путь — автоматическое управление подписью. Откройте проект в Xcode, перейдите в настройки таргета на вкладку Signing & Capabilities и включите опцию Automatically manage signing. Затем выберите свою команду разработчика (Team) в выпадающем списке.

Xcode сам найдёт или создаст нужные сертификаты и provisioning-профили, зарегистрирует подключенное устройство и настроит Bundle ID. Для большинства одиночных разработчиков этого достаточно — ручное управление профилями требуется в основном в CI/CD-сборках и при сложных корпоративных схемах.

Чтобы убедиться, что всё настроено верно, подключите iPhone по кабелю, выберите его как цель сборки и запустите проект. На устройстве может потребоваться подтвердить доверие разработчику в настройках: Настройки → Основные → VPN и управление устройством.

Различия типов сертификатов и сроки действия

Выбор типа сертификата зависит от задачи. Ниже — сравнение основных характеристик; точные условия могут меняться, сверяйтесь с документацией Apple.

ПараметрApple DevelopmentApple Distribution
НазначениеОтладка на своих устройствахПубликация в App Store, TestFlight, Ad Hoc
Количество устройствОграничено зарегистрированными устройствамиЧерез App Store — без ограничений
Срок действияОграничен, проверяйте в порталеОграничен, проверяйте в портале
Отзыв сертификатаНе влияет на опубликованные приложенияНе удаляет уже установленные приложения из App Store
⚠️ Внимание: отзыв (revoke) Distribution-сертификата не удаляет ваше приложение из App Store, но заблокирует возможность загружать новые сборки, пока не будет выпущен новый сертификат. Действуйте осознанно, особенно в командных аккаунтах.

Типичные ошибки и их решение

Даже при правильной последовательности действий подпись иногда «ломается». Вот наиболее частые ситуации и способы их разобрать.

«No signing certificate found» — Xcode не видит сертификат. Проверьте, установлен ли файл .cer в Связку ключей и есть ли под ним закрытый ключ. Если ключа нет, сертификат выпускался с другого Mac: экспортируйте связку в .p12 или создайте новый CSR.

«Provisioning profile doesn't include signing certificate» — профиль создан под другой сертификат. Удалите профиль в портале или локально и позвольте Xcode сгенерировать новый при включённой автоматической подписи.

Истёкший сертификат. Сертификаты имеют ограниченный срок действия. При истечении выпустите новый сертификат тем же способом и обновите профили — уже опубликованные приложения при этом продолжат работать.

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

FAQ: частые вопросы о сертификате разработчика iOS

Можно ли создать сертификат без платного аккаунта Apple Developer?

Полноценные сертификаты Development и Distribution выдаются только участникам платной программы. С бесплатным Apple ID Xcode создаёт временный личный сертификат, позволяющий тестировать приложение на собственном устройстве с ограничениями по сроку и функциям.

Сколько сертификатов можно создать на один аккаунт?

Apple ограничивает количество активных сертификатов каждого типа в рамках аккаунта. Если лимит исчерпан, отзовите неиспользуемый сертификат или экспортируйте существующий в формате .p12 для другого Mac.

Что делать, если я потерял закрытый ключ?

Восстановить ключ невозможно. Создайте новый CSR в Связке ключей и выпустите новый сертификат в портале разработчика, после чего обновите provisioning-профили. Опубликованные приложения продолжат работать.

Нужно ли перевыпускать сертификат при смене Mac?

Не обязательно: можно экспортировать сертификат вместе с закрытым ключом в файл .p12 и импортировать его на новый компьютер. Альтернатива — выпустить отдельный сертификат для нового Mac.

Чем сертификат отличается от provisioning profile?

Сертификат подтверждает вашу личность как разработчика, а provisioning profile связывает этот сертификат с конкретным App ID и списком устройств. Для установки и публикации приложения нужны оба компонента в согласованном виде.