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 остава търсен за тестване преди пускане, когато приложението все още не е преминало одобрение от 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 разпространението
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 г. Ще ви консултираме и ще предложим най-доброто решение.
Прочетете също