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 pipeline-ом путем 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. године. Саветоваћемо вас и предложити најбоље решење.
Прочитајте такође