TestFlight: co to je, beta testování a práce s buildy

Autor: IT Sectr Publikováno: 2026-04-11 Doba čtení: 9 min

TestFlight — je oficiální služba Apple pro beta testování iOS, iPadOS, watchOS a tvOS aplikací. Přes TestFlight vývojáři distribuují předvydáníové buildy až 10 000 externím testerům, sbírají zpětnou vazbu a crash reporty bez nutnosti publikování v App Store. Podle Apple Developer Documentation, 2025 používá více než 80 % aplikací v App Store TestFlight ve fázi přípravy vydání.

Hlavní body

  • TestFlight — platforma Apple pro distribuci beta verzí aplikací mezi testery
  • Až 10 000 externích testerů a až 100 interních členů jednoho týmu
  • Integrace s Xcode a App Store Connect umožňuje nahrávat buildy přímo z IDE
  • Automatický sběr crash logů, zpětné vazby a diagnostických dat od testerů
  • Bez TestFlight distribuce iOS buildů mimo App Store vyžaduje Enterprise certifikát nebo jailbreak

Co je TestFlight

TestFlight — je jediný oficiální a legální způsob distribuce iOS aplikací pro testování bez publikování v App Store. Služba byla spuštěna Apple v roce 2014 po akvizici stejnojmenné společnosti. Před příchodem TestFlight vývojáři používali Ad Hoc distribuci s omezením 100 zařízení na sezónu — TestFlight toto omezení odstranil a zjednodušil proces na několik kliknutí.

Proč je TestFlight potřeba

iOS má přísnou bezpečnostní politiku: aplikace může být nainstalována na zařízení pouze přes App Store nebo pomocí speciálních certifikátů. TestFlight řeší problém beta testování tím, že funguje jako proxy mezi vývojářem a testerem: Apple zkontroluje build na základní požadavky, poté testeři obdrží aplikaci přes aplikaci TestFlight z App Store, což nevyžaduje důvěru v nepodepsané soubory.

TestFlight vs Ad Hoc vs Enterprise

Existují tři způsoby distribuce iOS aplikací mimo App Store: Ad Hoc (omezení 100 zařízení, vyžaduje UDID každého zařízení), Enterprise (vnitrofiremní distribuce bez omezení, vyžaduje Apple Enterprise certifikát za 299 USD/rok) a TestFlight (až 10 000 testerů, zdarma, nevyžaduje sběr UDID). TestFlight je optimální volbou pro beta testování, Ad Hoc je vhodný pro testy specifické pro zařízení, Enterprise — pro firemní aplikace.

Jak TestFlight funguje

Proces publikování buildu přes TestFlight se skládá z pěti kroků: sestavení v Xcode, nahrání do App Store Connect přes Archive Organizer, zpracování Apple, pozvání testerů, instalace aplikace přes aplikaci TestFlight. Každý krok trvá od několika minut do hodiny v závislosti na složitosti projektu.

Požadavky Apple na build

Build musí být sestaven s distribučním certifikátem a správným provisioning profile. Apple kontroluje: platnost certifikátu, shodu bundle identifier, nepřítomnost soukromých API, správnost ikon (1024×1024) a existenci App Store ikony. Pokud build neprojde kontrolou — TestFlight zobrazí chybu s popisem problému.

Proces zpracování buildu

Po nahrání build prochází automatizovanou kontrolou Apple: statická analýza binárního kódu, kontrola digitálního podpisu, skenování na použití soukromých API a malwaru. Zpracování trvá 15 minut až 2 hodiny pro první build a obvykle 15–30 minut pro následující. Stav zpracování se zobrazuje v Activity v App Store Connect.

swift
// Nastavení TestFlight v Swift AppDelegate
import UIKit

@main
class AppDelegate: UIResponder, UIApplicationDelegate {
    func application(
        _ application: UIApplication,
        didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
    ) -> Bool {
        // Kontrola: zda byla aplikace nainstalována přes TestFlight
        if Bundle.main.appStoreReceiptURL?.lastPathComponent
            == "sandboxReceipt" {
            print("Beta version via TestFlight")
        }
        return true
    }
}

Interní a externí testeři

TestFlight rozděluje testery do dvou skupin: interní (Internal Testers) a externí (External Testers). Rozdíl je v počtu účastníků, přístupu k buildům a potřebě Apple recenze. Správný výběr skupiny urychluje proces testování a dodržuje politiky App Store.

Interní testeři (Internal)

100 účastníků z týmu Apple Developer Program. Pro pozvání interního testera stačí přidat jeho Apple ID v App Store Connect — okamžitě získá přístup ke všem buildům. Není vyžadována Apple recenze. Ideální pro každodenní smoke testování a kontrolu funkcí v raných fázích.

Externí testeři (External)

10 000 účastníků mimo vývojářský tým. První build pro externí testery prochází základní Apple recenzí (obvykle 1–2 dny). Následující buildy se změnami, které neovlivňují klíčovou funkcionalitu, mohou projít bez opakované recenze. Externí testeři jsou zváni přes e-mail nebo veřejný odkaz.

ParametrInternal TestersExternal Testers
Max. počet10010 000
Apple recenzeNení vyžadovánaPrvní build — povinná
PozváníApple ID z týmuE-mail / veřejný odkaz
Platnost buildu90 dní90 dní
Přístup k buildůmKe všem najednouPouze aktivní skupiny

Jak nahrát build do TestFlight

Nahrání buildu do TestFlight se provádí přes Xcode, Application Loader nebo příkazový řádek pomocí xcrun. Nejobvyklejší způsob — přes Xcode Archive Organizer po vytvoření archivu projektu. Alternativní způsob — automatizace přes Fastlane pro CI/CD Pipeline.

Ruční nahrání přes Xcode

Sestavte archiv (Product → Archive), otevřete Organizer, vyberte archiv a klikněte na Distribute App. Vyberte TestFlight jako metodu distribuce, uveďte certifikát a provisioning profile. Xcode nahraje build do App Store Connect, kde se objeví po zpracování. Celý proces trvá 10–20 minut pro první nahrání.

Automatizace přes Fastlane

Fastlane — je nejpopulárnější nástroj pro automatizaci nahrávání buildů do TestFlight. Příkaz fastlane pilot nahraje build a spravuje testery bez otevírání Xcode. Integrace Fastlane s CI/CD serverem umožňuje automatické publikování buildů v TestFlight po absolvování všech testů.

ruby
# Fastfile — nahrání buildu do TestFlight
default_platform(:ios)

lane :beta do
    # Získání certifikátů přes match
    match(type: "appstore")

    # Sestavení a podepsání
    build_app(
        scheme: "MyApp",
        export_method: "app-store",
        workspace: "MyApp.xcworkspace"
    )

    # Nahrání do TestFlight
    pilot(
        skip_waiting_for_build: true,
        distribute_external: false,
        notify_external_testers: false
    )
end

Fastlane pilot automaticky nahraje IPA do App Store Connect, čeká na zpracování (pokud skip_waiting_for_build = false) a přiřadí build vybraným skupinám testerů. Příkaz distribute_external: true okamžitě odešle build externím testerům po zpracování.

Nahrání přes příkazový řádek

Bez Fastlane lze použít xcrun: xcrun altool --upload-app --file path/to/app.ipa --username YOUR_APPLE_ID --password @keychain:AC_PASSWORD. altool je podporován Apple pro CI prostředí a nevyžaduje grafické rozhraní. Heslo se předává přes keychain nebo app-specific password — nepoužívejte hesla v prostém textu.

Sběr zpětné vazby a diagnostika v TestFlight

TestFlight poskytuje několik mechanismů zpětné vazby: vestavěný formulář zpětné vazby, automatický sběr crash logů, metriky použití a snímky obrazovky. Tým obdrží všechna data v App Store Connect bez nutnosti implementovat SDK třetích stran pro beta testování.

Vestavěný formulář zpětné vazby

Tester otevře aplikaci TestFlight, vybere váš build a klikne na Send Feedback. Formulář umožňuje odeslat textovou zpětnou vazbu, připojit snímek obrazovky a uvést závažnost. Všechna zpětná vazba se shromažďuje v App Store Connect v sekci TestFlight → Feedback. Vývojář může na zpětnou vazbu odpovědět a tester obdrží oznámení v aplikaci TestFlight.

Crash logy a diagnostika

Při pádu aplikace TestFlight automaticky shromažďuje crash report: zásobník volání, verzi OS, model zařízení a čas pádu. Crash logy jsou dostupné v Xcode Organizer (Crashes) a App Store Connect (TestFlight → Crashes). Pro získání symbolikovaných crash logů je nutné nahrát dSYM soubory společně s buildem nebo samostatně přes Xcode.

Sledování použití

TestFlight zobrazuje metriky: počet instalací, aktivních testerů, relací a pádů. Analytika se aktualizuje denně a pomáhá vyhodnotit zapojení testerů. Pokud během týdne žádný tester neotevřel aplikaci — stojí za to přehodnotit komunikaci se skupinou nebo kvalitu buildu.

Od TestFlight k publikaci v App Store

TestFlight je nedílnou součástí procesu publikace v App Store. Stejný build, který prošel beta testováním přes TestFlight, může být odeslán k Apple recenzi bez přestavby — stačí kliknout na tlačítko v App Store Connect. To eliminuje riziko, že se produkční build liší od testovaného.

Submit to App Review

V App Store Connect vyberte build, který prošel testováním, a klikněte na Submit for Review. Apple používá stejný build z TestFlight — opakované nahrání není nutné. Doba recenze je obvykle 1–3 dny. Pokud je build zamítnut — opravte připomínky, nahrajte nový build do TestFlight a opakujte proces.

Poslední build před vydáním

Doporučuje se po finálním kole testování v TestFlight počkat 24–48 hodin před odesláním k recenzi. Tento čas umožňuje testerům odhalit kritické chyby, které mohou proklouznout automatickými testy. Release candidate (RC) build v TestFlight — standard praxe zralých iOS týmů.

Co dělat po publikaci

TestFlight buildy se automaticky stanou nedostupnými pro nové instalace po vydání ostré verze v App Store. Testeri, kteří již nainstalovali beta verzi, ji mohou nadále používat po dobu 30 dnů po publikaci vydání, poté se aplikace přestane otevírat. Ujistěte se, že testeri aktualizovali na App Store verzi.

Často kladené otázky

Kolik stojí TestFlight pro vývojáře?

TestFlight je zcela zdarma pro účastníky Apple Developer Program (99 USD/rok). Za používání služby se neúčtuje žádný dodatečný poplatek, bez ohledu na počet buildů a testerů. Platíte pouze za předplatné vývojáře Apple — TestFlight je v něm standardně zahrnut.

Lze TestFlight použít pro Android aplikace?

Ne, TestFlight je exkluzivní služba ekosystému Apple. Pro Android existuje podobný nástroj v Google Play Console — tracky Internal Testing a Open Testing. Pro publikování beta verzí na Androidu se také používají Firebase App Distribution a DeployGate.

Jak dlouho trvá zpracování buildu v TestFlight?

Zpracování trvá od 15 minut do 2 hodin pro první build po nahrání. Následující buildy se zpracovávají rychleji — obvykle 15–30 minut. Doba zpracování závisí na vytížení serverů Apple. Stav lze sledovat v App Store Connect v sekci Activity.

Existuje omezení počtu buildů v TestFlight?

Každý build je k dispozici pro testování po dobu 90 dnů od okamžiku nahrání. Počet buildů není omezen, ale aktivních může být nejvýše 30 buildů současně. Starší buildy jsou automaticky odstraněny po vypršení platnosti nebo při dosažení limitu.

Jak pozvat testera bez Apple ID?

Pro účast v testování přes TestFlight je vyžadováno Apple ID. Externí testeři jsou zváni přes e-mailový odkaz — při prvním otevření odkazu systém nabídne vytvoření Apple ID, pokud ještě neexistuje. Veřejný odkaz je také k dispozici pro sdílení na sociálních sítích nebo blogu.

Shrnutí

  • TestFlight — oficiální služba Apple pro beta testování, zdarma pro účastníky Apple Developer Program
  • Až 10 000 externích a 100 interních testerů bez sběru UDID a ruční konfigurace zařízení
  • Automatický sběr crash logů, zpětné vazby a diagnostických dat přes aplikaci TestFlight
  • Nahrávání buildů možné přes Xcode, Application Loader, xcrun altool a Fastlane
  • Stejný build z TestFlight je odeslán k recenzi do App Store — rozdíl mezi testovanou a vydanou verzí je eliminován
  • 90 dnů — doba dostupnosti buildu pro testování, až 30 aktivních buildů současně
  • Doporučení: nastavte automatické nahrávání buildů do TestFlight přes Fastlane a CI/CD pro pravidelné testování každé kompilace

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í.

Prodiskutovat projekt

Přečtěte si také