Ad Hoc Distribution — это метод распространения iOS-приложений для тестирования на ограниченном количестве устройств без публикации в App Store. Каждое устройство должно быть зарегистрировано в Apple Developer Portal по уникальному UDID, максимальное количество — 100 устройств на аккаунт. По данным Apple Developer Documentation (2025), метод используется для бета-тестирования и демонстрации приложений клиентам, не требуя модерации App Store. Основное ограничение — привязка к физическим устройствам, что усложняет масштабирование тестирования.
Главное
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 распространение работает через механизм 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 профиля — один год, после чего приложения перестают открываться.
# 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 (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 выполняется через Apple Developer Portal и Xcode. Процесс включает регистрацию устройств, создание Provisioning Profile, подпись приложения и экспорт IPA для распространения. Для командной разработки рекомендуется использовать Fastlane или автоматизацию через CI/CD.
Для упрощения процесса используются сервисы распространения: Firebase App Distribution, Microsoft App Center или BuddyBuild. Эти сервисы автоматически управляют UDID, создают Ad Hoc профили и отправляют приглашения тестировщикам. Firebase App Distribution также интегрируется с CI/CD пайплайном через Gradle или Fastlane.
Важный нюанс — обновление UDID. Если в профиль нужно добавить новое устройство, придётся пересоздать Provisioning Profile и переподписать приложение. Устройства, уже установившие приложение, продолжат им пользоваться до истечения срока профиля (1 год). После этого потребуется переустановка с новым профилем.
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 — 100 на аккаунт разработчика Apple. Лимит общий для всех приложений разработчика, а не для каждого приложения отдельно. Сброс происходит 1 января каждого года. Для тестирования на большем количестве устройств используйте TestFlight или Enterprise Distribution (для корпоративных приложений).
UDID устройства можно получить через веб-сервисы типа udid.io или install.appcenter.ms. Пользователь открывает ссылку в Safari на iOS, устанавливает конфигурационный профиль, после чего UDID отображается на экране. Альтернативно UDID можно скопировать из Xcode при подключении устройства к Mac: Window → Devices and Simulators → Identifier.
Нет, Ad Hoc Distribution предназначен только для тестирования. Для публикации в App Store необходимо создать App Store Distribution Profile и подписать приложение соответствующим образом. Ad Hoc профиль не пройдёт проверку App Store Connect. Перед отправкой в App Store обязательно переключите export method на app-store в Xcode или Fastlane.
Если Ad Hoc приложение не открывается, проверьте: сертификат разработчика доверен на устройстве (Настройки → Основные → VPN и управление устройством), срок действия Provisioning Profile не истёк, UDID устройства добавлен в профиль, и приложение подписано корректным сертификатом. Если проблема сохраняется, удалите приложение и установите заново с обновлённым профилем.
Development Profile предназначен для запуска приложений непосредственно из Xcode на подключённых устройствах. Ad Hoc Profile — для распространения установочных IPA-файлов на устройства без Xcode. Основные отличия: Development требует подключения к Xcode, а Ad Hoc использует OTA-установку через Safari или Finder. Оба ограничены 100 устройствами.
Итоги
Мы разработаем мобильное приложение под ключ
IT Sectr создаёт приложения для iOS и Android для стартапов и бизнеса с 2017 года. Мы проконсультируем вас и предложим наилучшее решение.
Читайте также