TestFlight — platforma oficială Apple pentru distribuirea build-urilor de pre-lansare ale aplicațiilor între testeri. Permite dezvoltatorilor să încarce versiuni beta în App Store Connect, să gestioneze accesul și să colecteze feedback înainte de publicare. Conform Apple Developer Documentation, TestFlight suportă până la 10.000 de testeri externi printr-un link public și până la 100 interni — prin Apple ID.
Principalele puncte
TestFlight — platforma de testare beta integrată în App Store Connect pentru distribuirea build-urilor de pre-lansare ale aplicațiilor înainte de publicarea în App Store. Dezvoltatorii încarcă build-uri arhivate prin Xcode și le distribuie între testeri fără a fi nevoie să distribuie manual fișierele IPA.
Apple a achiziționat TestFlight în 2014 pentru a înlocui distribuția Ad Hoc prin Provisioning Profiles. Anterior, dezvoltatorii colectau UDID-urile dispozitivelor, creau provisioning profile și distribuiau IPA prin servicii terțe. TestFlight a automatizat întregul proces: testerul instalează aplicația beta prin TestFlight App, iar dezvoltatorul gestionează accesul prin interfața web.
Conform WWDC 2024, TestFlight procesează peste 2 milioane de instalări de test lunar. Platforma suportă distribuția pe toate platformele Apple, inclusiv iOS, iPadOS, macOS, tvOS, watchOS și visionOS, ceea ce o face singurul instrument unificat de testare beta în ecosistemul Apple.
TestFlight împarte testarea în două tipuri: Internal Testing pentru membrii echipei (până la 100 de participanți, build-ul disponibil imediat după încărcare) și External Testing pentru utilizatorii externi (până la 10.000 de participanți, necesită verificare Beta App Review). Testarea internă nu necesită moderare, ceea ce o face ideală pentru verificarea rapidă a build-urilor în cadrul echipei.
External Testing permite invitarea testerilor prin email sau printr-un link public. După trecerea de Beta App Review, build-ul este disponibil pentru descărcare tuturor invitaților. Pentru aplicațiile publicate pentru prima dată, External Testing este obligatoriu conform regulilor App Store Review Guidelines.
Procesul de lucru TestFlight începe cu arhivarea aplicației în Xcode și încărcarea în App Store Connect prin Organizer sau Transporter. După încărcare, build-ul trece printr-o verificare automată de validitate și scanare de securitate.
Testerii interni primesc o notificare despre build-ul disponibil prin TestFlight App. Ei pot instala aplicația și pot lăsa feedback prin interfața încorporată de capturi de ecran și comentarii text. Pentru testerii externi este necesară aprobarea Beta App Review, după care build-ul este distribuit la fel ca cel intern.
TestFlight colectează automat metrici de utilizare: numărul de instalări, log-uri de crash, capturi de ecran cu adnotări și feedback. Dezvoltatorul vede aceste date în secțiunea TestFlight din App Store Connect. Toate datele sunt agregate pe versiuni de build-uri, ceea ce simplifică compararea stabilității diferitelor versiuni.
Fiecare build încărcat în TestFlight are o perioadă de valabilitate de 90 de zile. După expirare, testerii nu mai pot instala sau rula aplicația. Pentru a continua testarea, trebuie încărcat un build nou cu un număr de versiune mărit. Limitarea încurajează dezvoltatorii să actualizeze regulat build-urile.
Pe măsură ce data expirării se apropie, TestFlight trimite notificări dezvoltatorului și testerilor. Dacă un build nou nu este încărcat la timp, testarea este întreruptă, iar participanții pierd accesul la aplicație până la apariția unei versiuni proaspete.
Configurarea TestFlight începe în App Store Connect în secțiunea TestFlight. Pentru pornire este necesar cel puțin un build încărcat al aplicației. Interfața este împărțită în trei secțiuni principale: build-uri, testeri interni și grupuri externe.
Testerii interni sunt adăugați prin Apple ID. Fiecare participant trebuie invitat prin App Store Connect cu un rol care include acces la testare. După invitație, testerul primește un email și poate instala aplicația prin TestFlight App pe dispozitiv.
Pentru testarea externă se creează grupuri care combină testerii pe scenarii. Fiecare grup este legat de build-uri specifice. Un grup poate avea un link public pentru alăturare independentă — acest lucru este convenabil pentru proiecte open-source sau testare beta în masă. Conform Apple Developer Documentation, linkul public poate fi revocat în orice moment fără a pierde accesul testerilor deja alăturați.
Încărcarea build-ului în TestFlight se face prin Xcode Organizer după arhivarea proiectului. Pentru încărcare este necesar un cont în programul Apple Developer Program cu drepturi de Admin sau App Manager în App Store Connect.
Înainte de încărcare, build-ul trebuie semnat cu un Distribution Certificate valid și trebuie să conțină un Provisioning Profile cu distribuție App Store. Xcode configurează automat semnarea prin Automatic Signing atunci când contul de dezvoltator este activ.
# Încărcare prin xcrun altool (Xcode 15+ folosește notarytool)
xcrun notarytool submit MyApp.ipa --apple-id "developer@example.com" --team-id "TEAMID123" --password "@keychain:AC_PASSWORD" --wait
# Încărcare directă în App Store Connect
xcrun altool --upload-app -f MyApp.ipa -t ios -u "developer@example.com" -p "@keychain:AC_PASSWORD"
După încărcare, build-ul trece printr-o verificare automată: validarea binarului, scanarea pentru cod malițios, verificarea conformității cu App Store Review Guidelines. De obicei, verificarea durează de la câteva minute până la o oră. Starea este afișată în App Store Connect în secțiunea TestFlight.
Pentru CI/CD (GitHub Actions, Bitrise, Jenkins) se folosește xcrun altool sau notarytool pentru încărcarea directă a build-ului fără Xcode. Cheile de autentificare sunt stocate în Keychain sau App Store Connect API. Fastlane oferă acțiunea upload_to_testflight pentru automatizarea completă a procesului.
Invitarea testerilor în TestFlight depinde de tipul de testare. Testerii interni sunt adăugați direct în App Store Connect prin Apple ID și obțin acces la toate build-urile imediat după încărcare. Testerii externi sunt invitați prin grupuri cu specificarea build-urilor concrete.
Pentru testarea externă este necesară trecerea de Beta App Review — o versiune simplificată a App Review care verifică funcționalitatea de bază și conformitatea cu regulile. Primul build extern trece de obicei verificarea în 1–2 zile, următoarele — mai repede. După aprobare, toți testerii din grup primesc o notificare.
Linkul public simplifică invitarea: dezvoltatorul publică linkul pe site sau în rețelele sociale, utilizatorii intră pe el și se alătură automat testării. TestFlight suportă până la 10.000 de participanți per grup extern, iar numărul de grupuri este nelimitat. Pentru fiecare aplicație pot fi configurate mai multe grupuri cu build-uri diferite.
Testerii trimit feedback prin TestFlight App, atașând capturi de ecran și adnotări. Dezvoltatorul vede tot feedback-ul în App Store Connect, grupat pe build-uri. Fiecare feedback conține versiunea sistemului de operare, modelul dispozitivului și un marcaj temporal, ceea ce facilitează reproducerea și eliminarea bug-urilor.
Publicarea aplicației din TestFlight în App Store nu necesită recompilare. Este suficient să selectați build-ul beta aprobat în App Store Connect și să apăsați Submit for Review. Același build care a trecut testarea beta este trimis la App Review final fără recompilare.
Acest lucru garantează că în producție ajunge exact versiunea pe care au testat-o participanții, eliminând riscurile diferențelor între build-ul beta și cel de lansare. După trecerea App Review final, build-ul este publicat automat în App Store conform regulilor de Availability setate.
Înainte de publicare, dezvoltatorul trebuie să actualizeze metadatele: descrierea versiunii, capturile de ecran pentru noua versiune a sistemului de operare și informațiile despre modificări. Build-urile TestFlight care nu au fost trimise în App Store sunt șterse automat după 90 de zile de la încărcare, împreună cu toate datele de testare.
Întrebări frecvente
Verificarea automată durează de obicei între 5 minute și o oră. Beta App Review pentru testarea externă — de la câteva ore până la 2 zile. Pentru build-urile repetate, verificarea este mai rapidă, deoarece Apple ține cont de istoricul reviziilor anterioare.
TestFlight este disponibil doar participanților Apple Developer Program (99$ pe an). Fără abonament, încărcarea build-urilor în App Store Connect este imposibilă. Pentru distribuția Ad Hoc fără abonament este necesar un cont Enterprise sau SideStore.
Ad Hoc necesită colectarea UDID-urilor dispozitivelor, crearea unui Provisioning Profile și distribuirea manuală a IPA. TestFlight automatizează întregul proces: dezvoltatorul încarcă build-ul, testerul instalează prin TestFlight App fără provisioning profile-uri și UDID-uri.
Durata de viață a build-ului în TestFlight este de 90 de zile de la momentul încărcării. După expirare, testerii nu pot instala sau rula aplicația. Pentru a prelungi testarea, trebuie încărcat un build nou cu un număr de versiune mărit.
TestFlight suportă aplicațiile macOS începând cu macOS 11 Big Sur. Testerii instalează versiunea beta prin TestFlight App pe Mac. Procesul de încărcare și gestionare nu diferă de versiunea iOS: arhivare în Xcode, încărcare prin Organizer.
Rezumat
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.
Citiți și