Ad Hoc Distribution to metoda dystrybucji aplikacji iOS do testowania na ograniczonej liczbie urządzeń bez publikowania w App Store. Każde urządzenie musi być zarejestrowane w Apple Developer Portal za pomocą unikalnego UDID, maksymalna liczba to 100 urządzeń na konto. Według Apple Developer Documentation (2025), metoda ta jest używana do testów beta i prezentacji aplikacji klientom, bez konieczności moderacji App Store. Głównym ograniczeniem jest powiązanie z fizycznymi urządzeniami, co utrudnia skalowanie testów.
Najważniejsze
Ad Hoc Distribution to metoda dystrybucji aplikacji iOS dostępna dla wszystkich uczestników Apple Developer Program ($99/rok). Pozwala instalować aplikacje bezpośrednio na urządzeniach bez przechodzenia przez moderację App Store. Główne przeznaczenie to testowanie przed publikacją: deweloperzy, testerzy i klienci mogą zainstalować aplikację na swoich urządzeniach przed oficjalną premierą.
Ad Hoc Distribution wykorzystuje Provisioning Profile, który zawiera listę dozwolonych UDID urządzeń. Podczas podpisywania aplikacji Xcode lub Fastlane tworzy plik IPA, który można zainstalować tylko na urządzeniach z tej listy. Każdy UDID jest dodawany przez Apple Developer Portal, a łączna liczba nie może przekraczać 100 urządzeń na konto dewelopera.
Według danych Apple (2025), Ad Hoc Distribution pozostaje popularny do testów przedpremierowych, gdy aplikacja nie przeszła jeszcze moderacji App Store, ale trzeba już pokazać ją klientowi lub przetestować na rzeczywistych urządzeniach. Apple zaleca jednak korzystanie z TestFlight do szeroko zakrojonych testów beta, pozostawiając Ad Hoc dla małych grup i szczególnych przypadków.
Ad Hoc dystrybucja działa poprzez mechanizm instalacji OTA (Over-The-Air) lub przez iTunes/Finder. Deweloper tworzy Ad Hoc Provisioning Profile z wybranymi UDID, podpisuje aplikację tym profilem i eksportuje plik IPA. Użytkownik instaluje aplikację przez Safari za pomocą linku lub przez Finder na macOS.
Technicznie Ad Hoc Distribution obejmuje kilka etapów. Najpierw administrator zbiera UDID urządzeń testowych — każdy UDID to unikalny 40-znakowy identyfikator urządzenia iOS. Następnie UDID są dodawane do Apple Developer Portal, tworzony jest Provisioning Profile i generowany jest podpisany IPA. Okres ważności profilu Ad Hoc to jeden rok, po którym aplikacje przestają się otwierać.
# Fastlane — automatyzacja dystrybucji Ad Hoc
lane :adhoc do
match(type: "adhoc")
gym(scheme: "MyApp",
export_method: "ad-hoc")
pilot(
distribute_only: true,
devices_file: "./devices.txt"
)
end
Aby zainstalować aplikację Ad Hoc, użytkownik musi zaufać certyfikatowi dewelopera na swoim urządzeniu. W tym celu w ustawieniach iOS należy przejść do „Ogólne” → „VPN i zarządzanie urządzeniem” → „Profil” i nacisnąć „Zaufaj”. Bez tego kroku aplikacja nie uruchomi się.
UDID (Unique Device Identifier) to unikalny identyfikator każdego urządzenia iOS. Dla Ad Hoc Distribution należy zebrać UDID wszystkich urządzeń testowych i dodać je do Apple Developer Portal. Maksymalna liczba to 100 urządzeń na konto dewelopera w roku. To ograniczenie dotyczy wszystkich aplikacji dewelopera, a nie każdej aplikacji z osobna.
| Metoda uzyskania UDID | Trudność | Uwagi |
|---|---|---|
| Przez Safari | Niska | Zainstalować profil konfiguracyjny w celu pobrania UDID |
| Przez Xcode | Średnia | Podłączyć urządzenie do Mac i skopiować UDID z Xcode |
| Przez MDM | Wysoka | Rozwiązanie MDM może zbierać UDID urządzeń korporacyjnych |
| Przez iTunes | Średnia | Przestarzała metoda — iTunes nie jest już wspierany na nowych macOS |
Ograniczenie do 100 urządzeń jest resetowane na koniec roku kalendarzowego — reset następuje 1 stycznia. Apple zaleca jednak do szeroko zakrojonych testów używać TestFlight, który obsługuje do 10 000 zewnętrznych testerów. Ad Hoc Distribution od 2022 roku pozostaje aktualny w przypadkach, gdy aplikacja nie przeszła jeszcze Beta App Review lub gdy testowanie wymaga dostępu do oryginalnego pliku IPA.
Konfiguracja Ad Hoc Distribution odbywa się przez Apple Developer Portal i Xcode. Proces obejmuje rejestrację urządzeń, utworzenie Provisioning Profile, podpisanie aplikacji i eksport IPA do dystrybucji. Do programowania zespołowego zaleca się używanie Fastlane lub automatyzacji przez CI/CD.
Aby uprościć proces, stosuje się serwisy dystrybucji: Firebase App Distribution, Microsoft App Center lub BuddyBuild. Te serwisy automatycznie zarządzają UDID, tworzą profile Ad Hoc i wysyłają zaproszenia testerom. Firebase App Distribution integruje się również z potokiem CI/CD przez Gradle lub Fastlane.
Ważny niuans — aktualizacja UDID. Jeśli do profilu trzeba dodać nowe urządzenie, należy ponownie utworzyć Provisioning Profile i ponownie podpisać aplikację. Urządzenia, które już zainstalowały aplikację, będą mogły z niej korzystać aż do wygaśnięcia profilu (1 rok). Po tym czasie wymagana jest ponowna instalacja z nowym profilem.
Ad Hoc Distribution to tylko jeden z trzech sposobów dystrybucji aplikacji iOS bez App Store. TestFlight (bezpłatny, do 10 000 zewnętrznych testerów) i Enterprise Distribution (bez ograniczenia urządzeń, dla aplikacji korporacyjnych) rozwiązują podobne zadania z różnymi ograniczeniami i wymaganiami.
TestFlight to preferowana przez Apple metoda testów beta. Nie wymaga zbierania UDID, obsługuje do 100 wewnętrznych i 10 000 zewnętrznych testerów, automatycznie zarządza wersjami i dostarcza analitykę instalacji. TestFlight wymaga jednak przejścia Beta App Review dla zewnętrznych testerów, co może zająć 1–2 dni. Ad Hoc Distribution nie wymaga żadnej moderacji.
Enterprise Distribution jest odpowiedni dla aplikacji korporacyjnych z nieograniczoną liczbą urządzeń, ale wymaga rejestracji w Apple Developer Enterprise Program ($299/rok) z numerem D-U-N-S. Ad Hoc jest dostępny dla wszystkich uczestników standardowego programu ($99/rok) i nie wymaga potwierdzenia prawnego firmy. Dla małych zespołów i projektów Ad Hoc pozostaje najprostszym sposobem dystrybucji bez App Store.
Często zadawane pytania
Maksymalna liczba urządzeń dla Ad Hoc Distribution to 100 na konto dewelopera Apple. Limit jest wspólny dla wszystkich aplikacji dewelopera, a nie dla każdej aplikacji osobno. Reset następuje 1 stycznia każdego roku. Do testowania na większej liczbie urządzeń użyj TestFlight lub Enterprise Distribution (dla aplikacji korporacyjnych).
UDID urządzenia można uzyskać przez serwisy internetowe takie jak udid.io lub install.appcenter.ms. Użytkownik otwiera link w Safari na iOS, instaluje profil konfiguracyjny, po czym UDID wyświetla się na ekranie. Alternatywnie UDID można skopiować z Xcode po podłączeniu urządzenia do Mac: Window → Devices and Simulators → Identifier.
Nie, Ad Hoc Distribution jest przeznaczony wyłącznie do testowania. Do publikacji w App Store należy utworzyć App Store Distribution Profile i podpisać aplikację w odpowiedni sposób. Profil Ad Hoc nie przejdzie weryfikacji App Store Connect. Przed wysłaniem do App Store należy przełączyć export method na app-store w Xcode lub Fastlane.
Jeśli Ad Hoc aplikacja nie otwiera się, sprawdź: czy certyfikat dewelopera jest zaufany na urządzeniu (Ustawienia → Ogólne → VPN i zarządzanie urządzeniem), czy okres ważności Provisioning Profile nie wygasł, czy UDID urządzenia jest dodany do profilu i czy aplikacja jest podpisana prawidłowym certyfikatem. Jeśli problem nadal występuje, usuń aplikację i zainstaluj ponownie ze zaktualizowanym profilem.
Development Profile jest przeznaczony do uruchamiania aplikacji bezpośrednio z Xcode na podłączonych urządzeniach. Ad Hoc Profile — do dystrybucji plików IPA na urządzenia bez Xcode. Główne różnice: Development wymaga podłączenia do Xcode, a Ad Hoc używa instalacji OTA przez Safari lub Finder. Oba są ograniczone do 100 urządzeń.
Podsumowanie
Opracujemy aplikację mobilną pod klucz
IT Sectr tworzy aplikacje na iOS i Androida dla startupów i firm od 2017 roku. Doradzimy Ci i zaproponujemy najlepsze rozwiązanie.
Przeczytaj również