TestFlight — oficiální platforma Apple pro distribuci předvydaných buildů aplikací mezi testery. Umožňuje vývojářům nahrávat beta verze do App Store Connect, spravovat přístup a sbírat zpětnou vazbu před publikací. Podle Apple Developer Documentation podporuje TestFlight až 10 000 externích testerů prostřednictvím veřejného odkazu a až 100 interních — přes Apple ID.
Hlavní body
TestFlight — platforma pro beta testování integrovaná do App Store Connect pro distribuci předvydaných buildů aplikací před publikací v App Store. Vývojáři nahrávají buildy archivované přes Xcode a distribuují je mezi testery bez nutnosti ruční distribuce IPA souborů.
Apple koupil TestFlight v roce 2014, aby nahradil Ad Hoc distribuci přes Provisioning Profiles. Dříve vývojáři sbírali UDID zařízení, vytvářeli provisioning profile a distribuovali IPA přes služby třetích stran. TestFlight celý proces automatizoval: tester nainstaluje beta aplikaci přes TestFlight App a vývojář spravuje přístup přes webové rozhraní.
Podle WWDC 2024 zpracovává TestFlight měsíčně více než 2 miliony testovacích instalací. Platforma podporuje distribuci na všechny platformy Apple, včetně iOS, iPadOS, macOS, tvOS, watchOS a visionOS, což z ní činí jediný unifikovaný nástroj pro beta testování v ekosystému Apple.
TestFlight rozděluje testování na dva typy: Internal Testing pro členy týmu (až 100 účastníků, build dostupný ihned po nahrání) a External Testing pro externí uživatele (až 10 000 účastníků, vyžaduje kontrolu Beta App Review). Interní testování nevyžaduje moderaci, což je ideální pro rychlou kontrolu buildů v rámci týmu.
External Testing umožňuje zvát testery e-mailem nebo prostřednictvím veřejného odkazu. Po absolvování Beta App Review je build k dispozici ke stažení všem pozvaným. Pro aplikace publikované poprvé je External Testing povinný podle pravidel App Store Review Guidelines.
Pracovní proces TestFlight začíná archivací aplikace v Xcode a nahráním do App Store Connect přes Organizer nebo Transporter. Po nahrání build prochází automatickou kontrolou platnosti a bezpečnostním skenem.
Interní testeři obdrží oznámení o dostupném buildu přes TestFlight App. Mohou aplikaci nainstalovat a zanechat zpětnou vazbu přes vestavěné rozhraní snímků obrazovky a textových komentářů. Pro externí testery je vyžadováno schválení Beta App Review, po kterém je build distribuován stejně jako interní.
TestFlight automaticky sbírá metriky používání: počet instalací, crash logy, snímky obrazovky s anotacemi a zpětnou vazbu. Vývojář vidí tato data v sekci TestFlight v App Store Connect. Všechna data jsou agregována podle verzí buildů, což usnadňuje porovnání stability různých buildů.
Každý nahraný build do TestFlight má dobu platnosti 90 dní. Po vypršení platnosti testeři nemohou aplikaci nainstalovat ani spustit. Pro pokračování testování je třeba nahrát nový build se zvýšeným číslem verze. Omezení motivuje vývojáře k pravidelnému aktualizování buildů.
Při blížícím se datu vypršení TestFlight odesílá oznámení vývojáři a testerům. Pokud není nový build včas nahrán, testování je přerušeno a účastníci ztratí přístup k aplikaci, dokud se neobjeví nová verze.
Nastavení TestFlight začíná v App Store Connect v sekci TestFlight. Pro spuštění je vyžadován alespoň jeden nahraný build aplikace. Rozhraní je rozděleno do tří hlavních sekcí: buildy, interní testeři a externí skupiny.
Interní testeři jsou přidáváni přes Apple ID. Každý účastník musí být pozván přes App Store Connect s rolí zahrnující přístup k testování. Po pozvání tester obdrží e-mail a může nainstalovat aplikaci přes TestFlight App na zařízení.
Pro externí testování se vytvářejí skupiny sdružující testery podle scénářů. Každá skupina je vázána na konkrétní buildy. Skupina může mít veřejný odkaz pro samostatné připojení — to je vhodné pro open-source projekty nebo hromadné beta testování. Podle Apple Developer Documentation může být veřejný odkaz kdykoli zrušen bez ztráty přístupu již připojených testerů.
Nahrání buildu do TestFlight se provádí přes Xcode Organizer po archivaci projektu. Pro nahrání je vyžadován účet v programu Apple Developer Program s právy Admin nebo App Manager v App Store Connect.
Před nahráním musí být build podepsán platným Distribution Certificate a obsahovat Provisioning Profile s distribucí App Store. Xcode automaticky konfiguruje podepisování přes Automatic Signing, pokud je účet vývojáře aktivní.
# Nahrát přes xcrun altool (Xcode 15+ používá notarytool)
xcrun notarytool submit MyApp.ipa --apple-id "developer@example.com" --team-id "TEAMID123" --password "@keychain:AC_PASSWORD" --wait
# Nahrát přímo do App Store Connect
xcrun altool --upload-app -f MyApp.ipa -t ios -u "developer@example.com" -p "@keychain:AC_PASSWORD"
Po nahrání build prochází automatickou kontrolou: validace binárního souboru, skenování na škodlivý kód, kontrola souladu s App Store Review Guidelines. Kontrola obvykle trvá od několika minut do hodiny. Stav je zobrazen v App Store Connect v sekci TestFlight.
Pro CI/CD (GitHub Actions, Bitrise, Jenkins) se používá xcrun altool nebo notarytool pro přímé nahrání buildu bez Xcode. Autentizační klíče jsou uloženy v Keychain nebo App Store Connect API. Fastlane poskytuje akci upload_to_testflight pro plnou automatizaci procesu.
Zvaní testerů do TestFlight závisí na typu testování. Interní testeři jsou přidáváni přímo v App Store Connect přes Apple ID a získávají přístup ke všem buildům ihned po nahrání. Externí testeři jsou zváni prostřednictvím skupin s uvedením konkrétních buildů.
Pro externí testování je vyžadováno absolvování Beta App Review — zjednodušené verze App Review, která kontroluje základní funkčnost a soulad s pravidly. První externí build obvykle prochází kontrolou za 1–2 dny, následující rychleji. Po schválení obdrží všichni testeři ve skupině oznámení.
Veřejný odkaz zjednodušuje zvaní: vývojář zveřejní odkaz na webu nebo sociálních sítích, uživatelé na něj kliknou a automaticky se připojí k testování. TestFlight podporuje až 10 000 účastníků na externí skupinu a počet skupin je neomezený. Pro každou aplikaci lze nakonfigurovat více skupin s různými buildy.
Testeři odesílají zpětnou vazbu přes TestFlight App a přikládají snímky obrazovky a anotace. Vývojář vidí veškerou zpětnou vazbu v App Store Connect, seskupenou podle buildů. Každá zpětná vazba obsahuje verzi OS, model zařízení a časové razítko, což usnadňuje reprodukci a odstraňování chyb.
Publikace aplikace z TestFlight v App Store nevyžaduje opětovné sestavení. Stačí vybrat schválený beta build v App Store Connect a kliknout na Submit for Review. Stejný build, který prošel beta testováním, je odeslán na finální App Review bez překompilování.
To zaručuje, že do produkce se dostane přesně ta verze, kterou testeři testovali, čímž se eliminují rizika rozdílů mezi beta a release buildy. Po absolvování finálního App Review je build automaticky publikován v App Store v souladu s nastavenými pravidly Availability.
Před publikací musí vývojář aktualizovat metadata: popis verze, snímky obrazovky pro novou verzi OS a informace o změnách. TestFlight buildy, které nebyly odeslány do App Store, jsou automaticky smazány 90 dní po nahrání spolu se všemi testovacími daty.
Často kladené otázky
Automatická kontrola obvykle trvá 5 minut až hodinu. Beta App Review pro externí testování — od několika hodin do 2 dnů. U opakovaných buildů probíhá kontrola rychleji, protože Apple zohledňuje historii předchozích recenzí.
TestFlight je dostupný pouze účastníkům Apple Developer Program (99 $ ročně). Bez předplatného není nahrávání buildů do App Store Connect možné. Pro Ad Hoc distribuci bez předplatného bude potřeba Enterprise účet nebo SideStore.
Ad Hoc vyžaduje sběr UDID zařízení, vytvoření Provisioning Profile a ruční distribuci IPA. TestFlight celý proces automatizuje: vývojář nahraje build, tester nainstaluje přes TestFlight App bez provisioning profilů a UDID.
Životnost buildu v TestFlight je 90 dní od okamžiku nahrání. Po vypršení platnosti testeři nemohou aplikaci nainstalovat ani spustit. Pro prodloužení testování je třeba nahrát nový build se zvýšeným číslem verze.
TestFlight podporuje macOS aplikace od macOS 11 Big Sur. Testeři instalují beta verzi přes TestFlight App na Macu. Proces nahrávání a správy se neliší od iOS verze: archivace v Xcode, nahrání přes Organizer.
Shrnutí
Vyvineme mobilní aplikaci na klíč
IT Sectr vytváří aplikace pro iOS a Android pro startupy a podniky od roku 2017. Poradíme vám a navrhneme nejlepší řešení.
Přečtěte si také