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 — автоматизація 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 року. Ми проконсультуємо вас і запропонуємо найкраще рішення.
Читайте також