iOS

Создание provisioning profile для iOS: подробное руководство

Это руководство поможет разработчикам iOS создать provisioning profile — необходимый файл для запуска приложений на реальных устройствах и публикации в App Store. Вы научитесь настраивать идентификаторы приложений, сертификаты и профили через Apple Developer Portal и Xcode.

Обновлено 17 февраля 2026 г.
15-30 мин
Средняя
FixPedia Team
Применимо к:Xcode 15+iOS 17+Apple Developer Program

Введение / Зачем это нужно

Provisioning Profile (профиль развертывания) — это критически важный файл в экосистеме Apple, который разрешает запуск вашего приложения на конкретных устройствах или в App Store. Без корректно настроенного профиля Xcode не сможет установить приложение на iPhone/iPad, даже если проект собран без ошибок. Этот гайд покрывает полный цикл создания профиля для разработки (Development) и дистрибуции (App Store/Ad Hoc) через Apple Developer Portal и Xcode.

Требования / Подготовка

Перед началом убедитесь, что у вас есть:

  1. Учётная запись Apple ID, добавленная в Apple Developer Program (платная) или бесплатный аккаунт разработчика.
  2. Mac с установленным Xcode (версия 15 или новее) и доступом в Keychain Access.
  3. Bundle Identifier вашего проекта (находится в Xcode: TargetGeneralIdentityBundle Identifier).
  4. Для Development профиля: UDID устройств, на которые планируется установка (макс. 100 для платного аккаунта).
  5. Для дистрибутивных профилей: готовый Distribution Certificate (App Store или Ad Hoc).

Шаг 1: Вход в Apple Developer Portal и проверка App ID

Все операции с профилями выполняются на веб-портале Apple Developer.

  1. Откройте developer.apple.com и войдите в свою учётную запись.
  2. Перейдите в раздел Certificates, Identifiers & Profiles (или найдите его через поиск).
  3. В левом меню выберите IdentifiersApp IDs.
  4. Найдите в списке App ID, соответствующий Bundle Identifier вашего приложения (например, com.example.myapp). Если его нет, нажмите + для создания:
    • App ID Description: Любое описание (например, "MyApp Development").
    • Bundle ID: Точное значение из Xcode. Выберите тип App.
    • Остальные опции (Capabilities) настраивайте по мере необходимости (Push Notifications, Sign In with Apple и т.д.).
  5. Запомните App ID Prefix (Team ID) и Bundle ID — они понадобятся позже.

Шаг 2: Создание сертификата разработчика (если отсутствует)

Provisioning Profile всегда привязан к сертификату. Для профиля разработки нужен Development Certificate.

  1. В разделе Certificates нажмите +.
  2. Выберите Apple Development (ранее iOS App Development) → Continue.
  3. Сгенерируйте CSR (Certificate Signing Request) на вашем Mac:
    • Откройте Keychain Access (Программы → Утилиты).
    • В меню Keychain AccessCertificate AssistantЗапросить сертификат у центра сертификации....
    • Введите email, общее имя (например, "iPhone Developer: Имя Фамилия (TeamID)"), выберите Сохранить на диск и Позволять мне указать расширенные настройки. Нажмите Продолжить и сохраните файл .certSigningRequest.
  4. Загрузите полученный CSR файл на портал Apple → Continue → Download.
  5. Двойным кликом загрузите скачанный файл .cer — он установится в Keychain Access в раздел My Certificates. Убедитесь, что сертификат имеет маленький треугольник, раскрывающий приватный ключ.

Шаг 3: Добавление устройств (только для Development Profile)

Если вы создаёте профиль для тестирования на реальных устройствах, их необходимо предварительно зарегистрировать.

  1. В разделе Devices (на портале Apple Developer) нажмите +.
  2. Введите Device Name (например, "iPhone 15 Pro Max") и UDID.
    • Как получить UDID: Подключите устройство к Mac, откройте Xcode → WindowDevices and Simulators. Выберите устройство в списке, скопируйте длинный идентификатор (Identifier) или нажмите "Copy UDID".
  3. Повторите для каждого тестового устройства. Учитывайте лимит (100 для платного аккаунта).

Шаг 4: Создание Provisioning Profile

Теперь соберём все компоненты в профиль.

  1. В разделе Profiles нажмите +.
  2. Выберите тип профиля:
    • iOS App Development — для тестирования на зарегистрированных устройствах.
    • App Store — для публикации в App Store (устройства не выбираются).
    • Ad Hoc — для распространения вне App Store (до 100 устройств в год).
    • Enterprise — для внутреннего распространения внутри компании (требует Enterprise Program).
  3. Нажмите Continue.
  4. Выберите App ID из списка (тот, что создали в Шаге 1) → Continue.
  5. Выберите сертификат(ы): Отметьте галочкой Development Certificate (или Distribution для App Store/Ad Hoc). Можно выбрать несколько → Continue.
  6. Выберите устройства (только для Development и Ad Hoc): Выберите все устройства, на которые нужно установить приложение → Continue.
  7. Задайте имя профиля: Например, MyApp_Dev_2026 → Generate.
  8. Скачайте полученный файл .mobileprovision и двойным кликом установите его. Файл автоматически добавится в Xcode (XcodeSettingsAccounts → выберите свою Apple ID → Manage Certificates).

Шаг 5: Настройка проекта Xcode и сборка

После установки профиля нужно привязать его к проекту.

  1. Откройте проект в Xcode.
  2. Выберите Target → вкладка General.
  3. В разделе Signing & Capabilities:
    • Team: Выберите вашу команду (Apple ID).
    • Bundle Identifier: Должен точно совпадать с Bundle ID из выбранного App ID.
    • Provisioning Profile: Если Xcode не выбрал профиль автоматически, нажмите на текущее значение (например, "Automatically manage signing") и выберите нужный профиль из выпадающего списка.
    • Signing Certificate: Должен соответствовать типу профиля (например, "Apple Development" для Development Profile).
  4. Важно: Если выключите "Automatically manage signing", убедитесь, что выбраны оба поля: и Provisioning Profile, и Signing Certificate.
  5. Выберите сборку (Build) для реального устройства (не симулятора). При успешной сборке Xcode подпишет приложение выбранным профилем.

Проверка результата

  1. Установка на устройство: Подключите iPhone/iPad к Mac. В Xcode выберите устройство как цель сборки (Run). Приложение должно установиться без ошибок.
  2. Проверка профиля на устройстве: На устройстве перейдите в НастройкиОсновныеVPN и управление устройством (или Профили). Вы должны увидеть установленный профиль разработчика с названием вашего App ID.
  3. Для App Store: После сборки с App Store профилем архив (.xcarchive) должен успешно проходить валидацию (ProductArchiveValidate App) без ошибок подписи.

Возможные проблемы

Ошибка: No profiles for 'com.example.myapp' were found

  • Причина: Bundle Identifier в проекте Xcode не совпадает ни с одним App ID, для которого есть профиль.
  • Решение: Проверьте Bundle Identifier в TargetGeneral. Убедитесь, что на портале Apple Developer существует App ID с таким же значением. Пересоздайте профиль, выбрав правильный App ID.

Ошибка: Provisioning profile "..." doesn't include the device

  • Причина: UDID вашего устройства отсутствует в Development/Ad Hoc профиле.
  • Решение: Добавьте устройство в раздел Devices на портале Apple Developer, затем отредактируйте (Edit) существующий профиль, добавив новое устройство, и переустановите обновлённый .mobileprovision файл.

Ошибка: The app is not authorized to use the specified entitlement

  • Причина: В проекте включена Capability (например, Push Notifications, App Groups), но соответствующая настройка не активирована для App ID на портале.
  • Решение: В Apple Developer Portal откройте нужный App ID → Edit → включите все Capabilities, которые используются в Xcode (Signing & Capabilities). После этого пересоздайте provisioning profile.

Профиль не появляется в Xcode

  • Причина: Файл .mobileprovision не был установлен (двойным кликом) или установлен для другой учётной записи/команды.
  • Решение: Убедитесь, что вы вошли в Xcode (SettingsAccounts) в ту же Apple ID, которая использовалась на портале. Переустановите профиль двойным кликом. Перезапустите Xcode.

Срок действия профиля истёк

  • Причина: Профили (как Development, так и Distribution) действуют 1 год с даты создания. Сертификаты также имеют срок.
  • Решение: В разделе Certificates, Identifiers & Profiles на портале проверьте сроки. Для продления создайте новый профиль (старый удалите). При смене сертификата старый профиль станет невалидным — нужно будет создать новый, привязанный к новому сертификату.

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

Можно ли создать provisioning profile с бесплатным аккаунтом Apple?
Почему provisioning profile не работает на устройстве?
Чем provisioning profile отличается от сертификата?
Как часто нужно обновлять provisioning profile?

Полезное

Вход в Apple Developer Portal
Создание или проверка App ID
Настройка сертификата разработчика
Добавление устройств в профиль
Создание provisioning profile

Эта статья помогла вам решить проблему?