TestFlight: ce este, testarea beta și lucrul cu build-uri

Autor: IT Sectr Publicat: 2026-04-11 Timp de citire: 9 min

TestFlight — este serviciul oficial Apple pentru testarea beta a aplicațiilor iOS, iPadOS, watchOS și tvOS. Prin TestFlight, dezvoltatorii distribuie versiuni de pre-lansare către până la 10 000 de testeri externi, colectează feedback și rapoarte de crash fără a fi nevoie de publicare în App Store. Conform Apple Developer Documentation, 2025, peste 80% din aplicațiile din App Store folosesc TestFlight în etapa de pregătire a lansării.

Principalele

  • TestFlight — platforma Apple pentru distribuirea versiunilor beta ale aplicațiilor între testeri
  • Până la 10 000 de testeri externi și până la 100 de participanți interni ai unei echipe
  • Integrare cu Xcode și App Store Connect permite încărcarea build-urilor direct din IDE
  • Colectare automată a logurilor de crash, feedback-urilor și datelor de diagnostic de la testeri
  • Fără TestFlight distribuirea build-urilor iOS în afara App Store necesită certificat Enterprise sau jailbreak

Ce este TestFlight

TestFlight — este singurul mod oficial și legal de a distribui aplicații iOS pentru testare fără publicare în App Store. Serviciul a fost lansat de Apple în 2014 după achiziționarea companiei cu același nume. Înainte de apariția TestFlight, dezvoltatorii foloseau distribuția Ad Hoc cu o limitare de 100 de dispozitive pe sezon — TestFlight a eliminat această limitare și a simplificat procesul la câteva clicuri.

De ce este necesar TestFlight

iOS are o politică de securitate strictă: aplicația poate fi instalată pe un dispozitiv doar prin App Store sau folosind certificate speciale. TestFlight rezolvă problema testării beta acționând ca un proxy între dezvoltator și tester: Apple verifică build-ul pentru cerințele de bază, după care testerii primesc aplicația prin aplicația TestFlight din App Store, ceea ce nu necesită încredere în fișiere nesemnate.

TestFlight vs Ad Hoc vs Enterprise

Există trei moduri de a distribui aplicații iOS în afara App Store: Ad Hoc (limitare de 100 de dispozitive, necesită UDID-ul fiecărui dispozitiv), Enterprise (distribuție intra-organizațională fără limită, necesită certificat Enterprise Apple la 299 USD/an) și TestFlight (până la 10 000 de testeri, gratuit, nu necesită colectarea UDID-urilor). TestFlight este alegerea optimă pentru testarea beta, Ad Hoc este potrivit pentru teste specifice dispozitivelor, Enterprise — pentru aplicații corporative.

Cum funcționează TestFlight

Procesul de publicare a unui build prin TestFlight constă din cinci pași: construirea în Xcode, încărcarea în App Store Connect prin Archive Organizer, procesarea de către Apple, invitarea testerilor, instalarea aplicației prin aplicația TestFlight. Fiecare pas durează de la câteva minute până la o oră, în funcție de complexitatea proiectului.

Cerințele Apple pentru build

Build-ul trebuie construit cu un certificat de distribuție și un provisioning profile corect. Apple verifică: valabilitatea certificatului, conformitatea bundle identifier, absența API-urilor private, corectitudinea pictogramelor (1024×1024) și prezența pictogramei App Store. Dacă build-ul nu trece verificarea — TestFlight afișează o eroare cu descrierea problemei.

Procesul de procesare a build-ului

După încărcare, build-ul trece printr-o verificare automatizată Apple: analiză statică a codului binar, verificarea semnăturii digitale, scanarea pentru API-uri private și malware. Procesarea durează de la 15 minute la 2 ore pentru primul build și de obicei 15–30 de minute pentru următoarele. Statusul procesării este afișat în Activity din App Store Connect.

swift
// Configurarea TestFlight în Swift AppDelegate
import UIKit

@main
class AppDelegate: UIResponder, UIApplicationDelegate {
    func application(
        _ application: UIApplication,
        didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
    ) -> Bool {
        // Verificare: dacă aplicația a fost instalată prin TestFlight
        if Bundle.main.appStoreReceiptURL?.lastPathComponent
            == "sandboxReceipt" {
            print("Beta version via TestFlight")
        }
        return true
    }
}

Testeri interni și externi

TestFlight împarte testerii în două grupuri: interni (Internal Testers) și externi (External Testers). Diferența constă în numărul de participanți, accesul la build-uri și necesitatea revizuirii Apple. Alegerea corectă a grupului accelerează procesul de testare și respectă politicile App Store.

Testeri interni (Internal)

Până la 100 de participanți din componența echipei Apple Developer Program. Pentru a invita un tester intern, este suficient să adăugați Apple ID-ul său în App Store Connect — acesta obține imediat acces la toate build-urile. Nu este necesară revizuirea Apple. Ideal pentru testarea zilnică smoke și verificarea funcțiilor în stadii incipiente.

Testeri externi (External)

Până la 10 000 de participanți care nu fac parte din echipa de dezvoltare. Primul build pentru testerii externi trece printr-o revizuire de bază Apple (de obicei 1–2 zile). Build-urile ulterioare cu modificări care nu afectează funcționalitatea de bază pot trece fără o nouă revizuire. Testerii externi sunt invitați prin e-mail sau link public.

ParametruInternal TestersExternal Testers
Nr. maxim10010 000
Revizuire AppleNu este necesarăPrimul build — obligatoriu
InvitareApple ID din echipăE-mail / link public
Valabilitatea build-ului90 de zile90 de zile
Acces la build-uriLa toate simultanDoar grupuri active

Cum să încarci un build în TestFlight

Încărcarea unui build în TestFlight se realizează prin Xcode, Application Loader sau linia de comandă cu ajutorul xcrun. Cea mai răspândită metodă — prin Xcode Archive Organizer după crearea arhivei proiectului. Metoda alternativă — automatizarea prin Fastlane pentru Pipeline CI/CD.

Încărcare manuală prin Xcode

Construiți o arhivă (Product → Archive), deschideți Organizer, selectați arhiva și apăsați Distribute App. Alegeți TestFlight ca metodă de distribuție, indicați certificatul și provisioning profile. Xcode va încărca build-ul în App Store Connect, unde va apărea după procesare. Întregul proces durează 10–20 de minute pentru prima încărcare.

Automatizare prin Fastlane

Fastlane — este cel mai popular instrument pentru automatizarea încărcării build-urilor în TestFlight. Comanda fastlane pilot încarcă build-ul și gestionează testerii fără a deschide Xcode. Integrarea Fastlane cu serverul CI/CD permite publicarea automată a build-urilor în TestFlight după trecerea tuturor testelor.

ruby
# Fastfile — încărcarea build-ului în TestFlight
default_platform(:ios)

lane :beta do
    # Obținerea certificatelor prin match
    match(type: "appstore")

    # Construirea și semnarea
    build_app(
        scheme: "MyApp",
        export_method: "app-store",
        workspace: "MyApp.xcworkspace"
    )

    # Încărcarea în TestFlight
    pilot(
        skip_waiting_for_build: true,
        distribute_external: false,
        notify_external_testers: false
    )
end

Fastlane pilot încarcă automat IPA-ul în App Store Connect, așteaptă procesarea (dacă skip_waiting_for_build = false) și atribuie build-ul grupurilor selectate de testeri. Comanda distribute_external: true trimite imediat build-ul testerilor externi după procesare.

Încărcare prin linia de comandă

Fără Fastlane, puteți folosi xcrun: xcrun altool --upload-app --file path/to/app.ipa --username YOUR_APPLE_ID --password @keychain:AC_PASSWORD. altool este acceptat de Apple pentru medii CI și nu necesită interfață grafică. Parola se transmite prin keychain sau app-specific password — nu folosiți parole în text simplu.

Colectarea feedback-ului și diagnosticarea în TestFlight

TestFlight oferă mai multe mecanisme de feedback: formularul de feedback integrat, colectarea automată a logurilor de crash, metrici de utilizare și capturi de ecran. Echipa primește toate datele în App Store Connect fără a fi nevoie să implementeze SDK-uri terțe pentru testarea beta.

Formularul de feedback integrat

Testerul deschide aplicația TestFlight, selectează build-ul dvs. și apasă Send Feedback. Formularul permite trimiterea unui feedback text, atașarea unei capturi de ecran și indicarea severității. Toate feedback-urile sunt colectate în App Store Connect în secțiunea TestFlight → Feedback. Dezvoltatorul poate răspunde la feedback, iar testerul va primi o notificare în aplicația TestFlight.

Loguri de crash și diagnosticare

La căderea aplicației, TestFlight colectează automat raportul de crash: stiva de apeluri, versiunea sistemului de operare, modelul dispozitivului și momentul căderii. Logurile de crash sunt disponibile în Xcode Organizer (Crashes) și App Store Connect (TestFlight → Crashes). Pentru a obține loguri de crash simbolizate, trebuie să încărcați fișierele dSYM împreună cu build-ul sau separat prin Xcode.

Monitorizarea utilizării

TestFlight arată metrici: numărul de instalări, testeri activi, sesiuni și crash-uri. Analizele se actualizează zilnic și ajută la evaluarea implicării testerilor. Dacă într-o săptămână niciun tester nu a deschis aplicația — merită să reconsiderați comunicarea cu grupul sau calitatea build-ului.

De la TestFlight la publicarea în App Store

TestFlight este o parte integrantă a procesului de publicare în App Store. Același build care a trecut prin testarea beta prin TestFlight poate fi trimis spre revizuire Apple fără recompilare — este suficient să apăsați un buton în App Store Connect. Aceasta elimină riscul ca build-ul de producție să difere de cel testat.

Submit to App Review

În App Store Connect, selectați build-ul care a trecut testarea și apăsați Submit for Review. Apple folosește același build din TestFlight — reîncărcarea nu este necesară. Timpul de revizuire este de obicei de 1–3 zile. Dacă build-ul este respins — corectați observațiile, încărcați un build nou în TestFlight și repetați procesul.

Ultimul build înainte de lansare

Se recomandă ca după runda finală de testare în TestFlight să așteptați 24–48 de ore înainte de trimiterea spre revizuire. Acest timp permite testerilor să detecteze bug-uri critice care ar putea scăpa de testele automate. Build-ul Release candidate (RC) în TestFlight — este standardul echipelor iOS mature.

Ce să faceți după publicare

Build-urile TestFlight devin automat indisponibile pentru instalări noi după lansarea versiunii de producție în App Store. Testerii care au instalat deja versiunea beta o pot folosi în continuare timp de 30 de zile după publicarea lansării, după care aplicația nu se mai deschide. Asigurați-vă că testerii s-au actualizat la versiunea din App Store.

Întrebări frecvente

Cât costă TestFlight pentru dezvoltator?

TestFlight este complet gratuit pentru participanții Apple Developer Program (99 USD/an). Pentru utilizarea serviciului nu se percepe nicio taxă suplimentară, indiferent de numărul de build-uri și testeri. Plătiți doar pentru abonamentul de dezvoltator Apple — TestFlight este inclus în el în mod implicit.

Poate fi folosit TestFlight pentru aplicații Android?

Nu, TestFlight este un serviciu exclusiv al ecosistemului Apple. Pentru Android există un instrument similar în Google Play Console — track-urile Internal Testing și Open Testing. Pentru publicarea versiunilor beta pe Android se mai folosesc Firebase App Distribution și DeployGate.

Cât durează procesarea unui build în TestFlight?

Procesarea durează de la 15 minute la 2 ore pentru primul build după încărcare. Build-urile ulterioare sunt procesate mai repede — de obicei 15–30 de minute. Timpul de procesare depinde de încărcarea serverelor Apple. Statusul poate fi urmărit în App Store Connect în secțiunea Activity.

Există o limită a numărului de build-uri în TestFlight?

Fiecare build este disponibil pentru testare timp de 90 de zile de la momentul încărcării. Numărul de build-uri nu este limitat, dar nu pot fi active mai mult de 30 de build-uri simultan. Build-urile vechi sunt șterse automat după expirare sau la atingerea limitei.

Cum să invit un tester fără Apple ID?

Pentru a participa la testare prin TestFlight este necesar un Apple ID. Testerii externi sunt invitați printr-un link de e-mail — la prima deschidere a linkului, sistemul va propune crearea unui Apple ID dacă acesta nu există încă. Linkul public este disponibil și pentru distribuire în rețelele sociale sau pe blog.

Rezumat

  • TestFlight — serviciul oficial Apple pentru testarea beta, gratuit pentru participanții Apple Developer Program
  • Până la 10 000 de testeri externi și 100 interni, fără colectarea UDID-urilor și configurarea manuală a dispozitivelor
  • Colectare automată a logurilor de crash, feedback-urilor și datelor de diagnostic prin aplicația TestFlight
  • Încărcarea build-urilor posibilă prin Xcode, Application Loader, xcrun altool și Fastlane
  • Același build din TestFlight este trimis spre revizuire în App Store — diferența dintre versiunea testată și cea lansată este eliminată
  • 90 de zile — perioada de disponibilitate a build-ului pentru testare, până la 30 de build-uri active simultan
  • Recomandare: configurați încărcarea automată a build-urilor în TestFlight prin Fastlane și CI/CD pentru testarea regulată a fiecărei compilări

Vom dezvolta o aplicație mobilă la cheie

IT Sectr creează aplicații iOS și Android pentru startup-uri și afaceri din 2017. Vă vom consilia și vă vom propune cea mai bună soluție.

Discutați proiectul

Citiți și