Ad Hoc Distribution — что это, ограничения тестирования iOS

Автор: IT Sectr Опубликовано: 2026-06-06 Время чтения: 9 мин

Ad Hoc Distribution — это метод распространения iOS-приложений для тестирования на ограниченном количестве устройств без публикации в App Store. Каждое устройство должно быть зарегистрировано в Apple Developer Portal по уникальному UDID, максимальное количество — 100 устройств на аккаунт. По данным Apple Developer Documentation (2025), метод используется для бета-тестирования и демонстрации приложений клиентам, не требуя модерации App Store. Основное ограничение — привязка к физическим устройствам, что усложняет масштабирование тестирования.

Главное

  • Ad Hoc Distribution — установка iOS-приложений на 100 зарегистрированных устройств без App Store
  • UDID каждого устройства добавляется в Apple Developer Portal и включается в профиль
  • Срок действия профиля Ad Hoc — 1 год, после чего требуется переустановка приложений
  • Отличие от Enterprise — Ad Hoc ограничен 100 устройствами и не требует D-U-N-S номера
  • TestFlight — альтернатива Ad Hoc без ограничения по количеству устройств для бета-тестирования

Что такое Ad Hoc Distribution?

Ad Hoc Distribution — это метод распространения iOS-приложений, доступный всем участникам Apple Developer Program ($99/год). Он позволяет устанавливать приложения напрямую на устройства без прохождения модерации App Store. Основное назначение — тестирование перед публикацией: разработчики, тестировщики и клиенты могут установить приложение на свои устройства до официального релиза.

Ad Hoc Distribution использует Provisioning Profile, который включает список разрешённых UDID устройств. При подписании приложения Xcode или Fastlane создаёт IPA-файл, который можно установить только на устройства из этого списка. Каждый UDID добавляется через Apple Developer Portal, и общее количество не может превышать 100 устройств на аккаунт разработчика.

По данным Apple (2025), Ad Hoc Distribution остаётся востребованным для pre-release тестирования, когда приложение ещё не прошло модерацию App Store, но уже требуется показать его заказчику или протестировать на реальных устройствах. Однако Apple рекомендует использовать TestFlight для масштабного бета-тестирования, оставляя Ad Hoc для малых групп и специальных случаев.

Как работает Ad Hoc распространение?

Ad Hoc распространение работает через механизм OTA (Over-The-Air) установки или через iTunes/Finder. Разработчик создаёт Ad Hoc Provisioning Profile с выбранными UDID, подписывает приложение этим профилем и экспортирует IPA-файл. Пользователь устанавливает приложение через Safari по ссылке или через Finder на macOS.

Технически Ad Hoc Distribution включает несколько этапов. Сначала администратор собирает UDID тестовых устройств — каждый UDID представляет собой уникальный 40-символьный идентификатор устройства iOS. Затем UDID добавляются в Apple Developer Portal, создаётся Provisioning Profile и генерируется подписанный IPA. Срок действия Ad Hoc профиля — один год, после чего приложения перестают открываться.

ruby
# Fastlane — automate Ad Hoc Distribution
lane :adhoc do
    match(type: "adhoc")
    gym(scheme: "MyApp",
        export_method: "ad-hoc")
    pilot(
        distribute_only: true,
        devices_file: "./devices.txt"
    )
end

Для установки Ad Hoc приложения пользователь должен доверить сертификат разработчика на своём устройстве. Для этого в настройках iOS нужно перейти в «Основные» → «VPN и управление устройством» → «Профиль» и нажать «Доверять». Без этого шага приложение не запустится.

UDID регистрация и ограничение на 100 устройств

UDID (Unique Device Identifier) — это уникальный идентификатор каждого iOS-устройства. Для Ad Hoc Distribution необходимо собрать UDID всех тестовых устройств и добавить их в Apple Developer Portal. Максимальное количество — 100 устройств на аккаунт разработчика в год. Это ограничение распространяется на все приложения разработчика, а не на каждое приложение отдельно.

Метод получения UDIDСложностьПримечание
Через SafariНизкаяУстановить конфигурационный профиль для извлечения UDID
Через XcodeСредняяПодключить устройство к Mac и скопировать UDID из Xcode
Через MDMВысокаяMDM-решение может собирать UDID корпоративных устройств
Через iTunesСредняяУстаревший метод — iTunes больше не поддерживается на новых macOS

Ограничение в 100 устройств снимается в конце календарного года — сброс происходит 1 января. Однако Apple рекомендует для масштабного тестирования использовать TestFlight, который поддерживает до 10 000 внешних тестировщиков. Ad Hoc Distribution с 2022 года остаётся актуальным для случаев, когда приложение ещё не прошло Beta App Review или когда тестирование требует доступа к исходному IPA-файлу.

Настройка Ad Hoc Distribution

Настройка Ad Hoc Distribution выполняется через Apple Developer Portal и Xcode. Процесс включает регистрацию устройств, создание Provisioning Profile, подпись приложения и экспорт IPA для распространения. Для командной разработки рекомендуется использовать Fastlane или автоматизацию через CI/CD.

  1. Собрать UDID тестовых устройств через udid.io или конфигурационный профиль
  2. Добавить UDID в Apple Developer Portal → Certificates, Identifiers & Profiles → Devices
  3. Создать Ad Hoc Provisioning Profile для нужного Bundle ID, включив зарегистрированные устройства
  4. Подписать приложение Ad Hoc профилем в Xcode: Product → Archive → Distribute Ad Hoc
  5. Экспортировать IPA-файл и распространить ссылку через OTA-сервер или Firebase App Distribution
  6. Пользователю: открыть ссылку на устройстве, установить приложение, доверить сертификат в настройках

Для упрощения процесса используются сервисы распространения: Firebase App Distribution, Microsoft App Center или BuddyBuild. Эти сервисы автоматически управляют UDID, создают Ad Hoc профили и отправляют приглашения тестировщикам. Firebase App Distribution также интегрируется с CI/CD пайплайном через Gradle или Fastlane.

Важный нюанс — обновление UDID. Если в профиль нужно добавить новое устройство, придётся пересоздать Provisioning Profile и переподписать приложение. Устройства, уже установившие приложение, продолжат им пользоваться до истечения срока профиля (1 год). После этого потребуется переустановка с новым профилем.

Ad Hoc vs TestFlight и Enterprise

Ad Hoc Distribution — лишь один из трёх способов распространения iOS-приложений без App Store. TestFlight (бесплатный, до 10 000 внешних тестировщиков) и Enterprise Distribution (без ограничения устройств, для корпоративных приложений) решают смежные задачи с разными ограничениями и требованиями.

TestFlight — предпочтительный метод Apple для бета-тестирования. Он не требует сбора UDID, поддерживает до 100 внутренних и 10 000 внешних тестировщиков, автоматически управляет версиями и предоставляет аналитику установок. Однако TestFlight требует прохождения Beta App Review для внешних тестировщиков, что может занимать 1–2 дня. Ad Hoc Distribution не требует модерации совсем.

Enterprise Distribution подходит для корпоративных приложений с неограниченным числом устройств, но требует регистрации в Apple Developer Enterprise Program ($299/год) с D-U-N-S номером. Ad Hoc доступен всем участникам стандартной программы ($99/год) и не требует юридического подтверждения компании. Для небольших команд и проектов Ad Hoc остаётся самым простым способом распространения без App Store.

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

Сколько устройств можно добавить в Ad Hoc Distribution?

Максимальное количество устройств для Ad Hoc Distribution — 100 на аккаунт разработчика Apple. Лимит общий для всех приложений разработчика, а не для каждого приложения отдельно. Сброс происходит 1 января каждого года. Для тестирования на большем количестве устройств используйте TestFlight или Enterprise Distribution (для корпоративных приложений).

Как узнать UDID устройства для Ad Hoc?

UDID устройства можно получить через веб-сервисы типа udid.io или install.appcenter.ms. Пользователь открывает ссылку в Safari на iOS, устанавливает конфигурационный профиль, после чего UDID отображается на экране. Альтернативно UDID можно скопировать из Xcode при подключении устройства к Mac: Window → Devices and Simulators → Identifier.

Можно ли использовать Ad Hoc Distribution для публикации в App Store?

Нет, Ad Hoc Distribution предназначен только для тестирования. Для публикации в App Store необходимо создать App Store Distribution Profile и подписать приложение соответствующим образом. Ad Hoc профиль не пройдёт проверку App Store Connect. Перед отправкой в App Store обязательно переключите export method на app-store в Xcode или Fastlane.

Что делать, если Ad Hoc приложение не открывается?

Если Ad Hoc приложение не открывается, проверьте: сертификат разработчика доверен на устройстве (Настройки → Основные → VPN и управление устройством), срок действия Provisioning Profile не истёк, UDID устройства добавлен в профиль, и приложение подписано корректным сертификатом. Если проблема сохраняется, удалите приложение и установите заново с обновлённым профилем.

Чем отличается Ad Hoc профиль от Development профиля?

Development Profile предназначен для запуска приложений непосредственно из Xcode на подключённых устройствах. Ad Hoc Profile — для распространения установочных IPA-файлов на устройства без Xcode. Основные отличия: Development требует подключения к Xcode, а Ad Hoc использует OTA-установку через Safari или Finder. Оба ограничены 100 устройствами.

Итоги

  • Ad Hoc Distribution — установка iOS-приложений на 100 устройств без App Store для тестирования
  • UDID каждого устройства регистрируется в Apple Developer Portal и включается в профиль
  • Ограничение в 100 устройств сбрасывается ежегодно 1 января
  • TestFlight — альтернатива без ограничения по устройствам, но с модерацией Beta App Review
  • Настройка включает создание Ad Hoc Provisioning Profile и подпись IPA с export method ad-hoc
  • Срок действия профиля — 1 год, после чего требуется переустановка приложений

Мы разработаем мобильное приложение под ключ

IT Sectr создаёт приложения для iOS и Android для стартапов и бизнеса с 2017 года. Мы проконсультируем вас и предложим наилучшее решение.

Обсудить проект

Читайте также