TestFlight: testiranje iPhone aplikacije prije slanja Appleu
Autor: Mehdi Azizi
Ažurirano , 8 min
Interni i vanjski testeri, beta pregled, javni link i buildovi koji vrijede 90 dana: TestFlight jednostavno objašnjen, uz popis provjera prije Applea.
Što je TestFlight i čemu služi?
TestFlight je Appleova usluga koja ti omogućuje da instaliraš aplikaciju na prave iPhone uređaje prije njezina izlaska na App Store. Pošalješ build u App Store Connect, pozoveš testere i oni ga instaliraju preko aplikacije TestFlight, koja je besplatna na App Storeu. Postoje dvije vrste testera: interni, do 100 članova tvog tima, bez Appleova pregleda, i vanjski, do 10 000 ljudi, pozvanih e-mailom ili javnim linkom, nakon beta pregleda tvog prvog builda. Svaki build može se testirati 90 dana.
| Kriterij | Interni testeri | Vanjski testeri |
|---|---|---|
| Najveći broj | 100 | 10 000 |
| Pristup tvom računu | Da, uz dodijeljenu ulogu | Ne |
| Poziv | Dodavanje u internu grupu | E-mail ili javni link |
| Appleov beta pregled | Nema ga | Za prvi build |
| Za koga | Ti, partner, netko blizak | Prijatelji, prvi korisnici |
Za TestFlight ti treba plaćeni Apple Developer račun: usluga nije dostupna s besplatnim računom. Ostatak ovog vodiča pretpostavlja da ga imaš, u standardnom programu: Appleov Enterprise program ne daje pristup TestFlightu.
Kod mojih aplikacija svaki build poslan preko EAS Submita prolazi kroz TestFlight i kroz moj iPhone prije nego što ode na pregled. Tu pronalazim probleme koji se ne vide tijekom razvoja.
Slanje builda u TestFlight
Build je kompilirana i potpisana verzija tvoje aplikacije: ako je loše potpisan, Apple ga odbija pri slanju s greškom ITMS-90034. Da bi se pojavio u TestFlightu, moraš ga poslati u App Store Connect. S Expoom to je eas build --platform ios pa eas submit --platform ios, uz dovoljno novu build sliku da izbjegneš ITMS-90725. Prema Expoovoj dokumentaciji, build se pojavi u TestFlightu nakon što ga Apple obradi, obično za 10 do 15 minuta. Sve to možeš napraviti s PC-ja: vodič objaviti iOS aplikaciju bez Maca opisuje cijeli postupak.
Dva detalja često zapnu prvi put:
- Broj builda mora se mijenjati pri svakom slanju. Apple odbija dva builda s istim brojem za istu verziju. S EAS-om uključi automatsko povećavanje i više ne moraš misliti na to.
- Pitanje o enkripciji. Dok ne odgovoriš na pitanje o korištenju enkripcije, build ostaje blokiran sa statusom nedostajuće usklađenosti. Možeš odgovarati svaki put u App Store Connectu ili to jednom zauvijek navesti u konfiguraciji aplikacije.
Interni testeri: tvoj tim, bez čekanja
Interni testeri su korisnici tvog App Store Connect računa s dodijeljenom ulogom. Apple dopušta do 100 njih, a svaki može instalirati aplikaciju na više uređaja, do 30.
Njihova velika prednost: nema beta pregleda. Čim build završi obradu, bez automatske greške poput ITMS-90717, dodaš ga u internu grupu i dostupan je. To je prava grupa za tebe, partnera ili nekoga bliskog kome daš pristup svom računu.
Njihovo ograničenje: moraš ih dodati kao korisnike svog App Store Connect računa. Nije prikladno za nepoznate ljude.
Vanjski testeri i beta pregled
Vanjskim testerima ne treba nikakav pristup tvom računu. Možeš ih pozvati do 10 000, e-mailom ili javnim linkom. To je prava grupa za prijatelje, prve korisnike, zajednicu.
Zauzvrat Apple provjerava build prije nego što im ga otvori. Kad prvi build neke verzije dodaš u vanjsku grupu, on ide na beta pregled. Sljedeći buildovi iste verzije ne traže nužno potpuni pregled.
Prije tog slanja App Store Connect traži podatke za testiranje:
- opis bete, koji testerima kaže što trebaju gledati;
- e-mail adresu za povratne informacije;
- tvoje kontakt podatke, da te Apple može dobiti.
Beta pregled nije pregled za App Store. Build prihvaćen u TestFlightu i dalje može biti odbijen pri objavi.
Beta pregled provjerava poštuje li build pravila, ali završni pregled gleda i tvoju stranicu u trgovini, pretplate, pravne tekstove i cjelokupno iskustvo. Imaj na umu klasične razloge odbijanja, opisane u tekstu zašto Apple odbija aplikaciju.
Pozivanje testera javnim linkom
Javni link je najjednostavniji način da aplikaciju daš na testiranje ljudima koje još ne poznaješ. Evo Appleova postupka, s nazivima iz sučelja na engleskom:
- U App Store Connectu otvori aplikaciju pa karticu TestFlight.
- Pod External Testing odaberi svoju vanjsku grupu.
- Klikni Create Public Link.
- Odaberi Open to Anyone da link otvoriš svima ili Filter by Criteria da ga ograničiš na određene uređaje i verzije iOS-a.
- Ako želiš, postavi ograničenje broja testera s Set Limit.
Link zatim dijeliš gdje god želiš: poruka, društvena mreža, e-mail. Osoba instalira aplikaciju TestFlight, otvori link i prihvati poziv.
Dvije stvari koje trebaš znati prije nego što ga široko podijeliš:
- Postavi ograničenje. Ako se link proširi više nego što si planirao, zadržat ćeš kontrolu nad brojem testera.
- Testeri preko javnog linka su anonimni. App Store Connect za njih prikazuje samo datum instalacije, sesije i rušenja. Ako želiš znati tko je što testirao, radije pozivaj e-mailom.
Koliko traje TestFlight build?
Build ostaje dostupan testerima 90 dana. Nakon toga istječe i testeri ga više ne mogu otvoriti. Ako ti beta traje dulje, jednostavno pošalji novi build prije isteka.
U praksi ćeš nove buildove slati puno češće: pri svakom važnom ispravku. Svaki novi build dodan u grupu nudi se testerima, koji ga preuzimaju u aplikaciji TestFlight.
Prikupljanje povratnih informacija od testera
TestFlight ima ugrađen sustav povratnih informacija: tester napravi snimku zaslona u tvojoj aplikaciji, može je označiti i pošalje ti je. Ako se aplikacija sruši, dobiješ izvještaj o rušenju, a tester može dodati kontekst. Sve nalaziš u App Store Connectu.
To je korisno, ali nije dovoljno da razumiješ točno određeno rušenje. U svoje aplikacije dodajem Sentry, koji javlja grešku s problematičnom linijom koda, i PostHog, koji pokazuje gdje korisnici odustaju. Oba rade u TestFlight buildu kao i u produkciji.
Testiranje pretplata u TestFlightu
Ako tvoja aplikacija prodaje pretplatu, TestFlight je mjesto gdje provjeravaš radi li ona stvarno. Kupnje u TestFlight buildu idu kroz Appleovo testno okruženje: testerima se ništa ne naplaćuje. Obnove su ubrzane: svaka se pretplata obnavlja jednom dnevno, najviše šest puta u tjedan dana, bez obzira na stvarno trajanje.
Provjeri barem jesu li prikazane cijene točne, otključava li kupnja aplikaciju i vraća li gumb za vraćanje kupnje pretplatu nakon ponovne instalacije. Za pretplate u svojim aplikacijama koristim RevenueCat; cijeli postupak, od proizvoda u App Store Connectu do paywalla, opisan je na stranici in-app pretplate na iOS-u.
Što trebaš testirati prije slanja Appleu
Ovo je popis koji prolazim prije svakog slanja na pregled. Svaka stavka odgovara nekom razlogu odbijanja ili rušenju koje se moglo izbjeći.
Prvo pokretanje
- Obriši aplikaciju, ponovno je instaliraj iz TestFlighta i otvori je. To će napraviti i reviewer.
- Prođi cijeli onboarding, bez preskakanja.
- Odbij svako dopuštenje (obavijesti, kamera, lokacija) i provjeri da aplikacija i dalje radi.
Novac
- Paywall prikazuje cijene, trajanje i linkove na uvjete korištenja i pravila privatnosti.
- Kupnja radi, vraćanje kupnje također.
- Svi konfigurirani proizvodi vidljivi su revieweru: guideline 2.1 traži da in-app kupnje budu potpune, vidljive i funkcionalne.
Teški uvjeti
- Način rada u zrakoplovu i spora mreža: jasna poruka, a ne bijeli ekran.
- Najmanji i najveći iPhone koji podržavaš: ništa odrezano, ništa skriveno ispod tipkovnice. Upravo mi je odrezan ekran na malom iPhoneu donio odbijanje za Solys.
- Dugi tekstovi, ako je aplikacija prevedena.
Materijal za reviewera
- Ako aplikacija traži prijavu, demo račun u bilješkama za pregled, s uključenim backendom. Guideline 2.1 to izričito traži.
- Bilješke za pregled koje u dvije rečenice objašnjavaju što aplikacija radi i gdje se nalazi glavna funkcija.
Ako ti unatoč svemu aplikacija bude odbijena, stranica Apple je odbio aplikaciju objašnjava kako odgovoriti bez gubljenja tjedan dana. A za cjelokupni pregled objave, od stranice u trgovini do izlaska, pročitaj objavljivanje aplikacije na App Storeu.
Tablica za testiranje tvog builda
Preuzmi tablicu sa 16 scenarija u CSV formatu. Razlikuje pripremu, radnju koju treba izvesti, očekivani rezultat i uočeni dokaz. Uvezi je u Numbers, Excel ili Google Sheets, pa upiši verziju, uređaj i rezultat svakog pokušaja.
Za izmišljeni dnevnik čitanja „spremi stranicu” nije dovoljno: zapiši stranicu 24, potpuno zatvori aplikaciju, ponovno je pokreni i provjeri je li vrijednost tu. Test koji nije izveden ostaje „Za testiranje”. Ako tvoja aplikacija nema pretplatu, za scenarije kupnje upiši „Nije primjenjivo”, uz taj razlog.
Tablica je polazna točka koju prilagođavaš, a ne certifikat. Pogledaj i bilješke za App Review i ostale besplatne predloške kako bi revieweru objasnio tijek koji si stvarno provjerio.
Od TestFlighta do App Storea
TestFlight je korak u kojem aplikacija postaje stvarna: radi na pravom iPhoneu, u rukama pravih ljudi. U okviru iOS Kita to je drugi korak: izgraditi srž aplikacije i testirati je na svom iPhoneu s TestFlightom, prije spajanja pretplata i pripreme objave.
Nakon TestFlighta dolazi Appleov pregled: Apple Review Kit sadrži moj popis provjera prije slanja i bilješke za testera. Početna stranica prikazuje četiri koraka da napraviš svoju mobilnu aplikaciju s Claude Codeom.
Nitko ti ne može jamčiti da će Apple prihvatiti tvoju aplikaciju: odluka je na Appleu.
Česta pitanja
Kako testirati iPhone aplikaciju s TestFlightom?
Pošalji build u App Store Connect, pa ga dodaj u grupu testera. S Expoom ga kompajliraš s EAS Buildom i šalješ s EAS Submitom: pojavi se u TestFlightu nakon što ga Apple obradi, prema Expou obično za 10 do 15 minuta. Testeri ga instaliraju preko aplikacije TestFlight, koja je besplatna na App Storeu. Treba ti plaćeni Apple Developer račun.
Kako napraviti TestFlight link za pozivanje testera?
U App Store Connectu otvori karticu TestFlight svoje aplikacije, odaberi grupu pod External Testing i klikni Create Public Link. Odaberi Open to Anyone ili Filter by Criteria, pa postavi ograničenje sa Set Limit. Testeri preko javnog linka ostaju anonimni: ako želiš znati tko je što testirao, radije ih pozovi e-mailom.
Zamjenjuje li TestFlight beta pregled pregled za App Store?
Ne. Beta pregled provjerava poštuje li build pravila, ali završni pregled gleda i tvoju stranicu u trgovini, dobnu oznaku (age rating), pretplate, pravne tekstove i cjelokupno iskustvo. Build prihvaćen u TestFlightu stoga i dalje može biti odbijen pri objavi. Beta pregled pokreću samo vanjski testeri, za prvi build neke verzije: interni testeri ne prolaze nikakav pregled.
Koliko testera možeš pozvati na TestFlight?
Možeš pozvati do 100 internih i do 10 000 vanjskih testera. Interni su članovi tvog App Store Connect računa, bez beta pregleda, i svaki može instalirati aplikaciju na do 30 uređaja. Vanjski se pozivaju e-mailom ili javnim linkom, nakon beta pregleda prvog builda. Svaki build može se testirati 90 dana.
Može li se pretplata testirati u TestFlightu bez naplate?
Da, kupnje u TestFlight buildu idu kroz Appleovo testno okruženje: testerima se ništa ne naplaćuje. Obnove su ubrzane: svaka se pretplata obnavlja jednom dnevno, najviše šest puta u tjedan dana, bez obzira na stvarno trajanje. Provjeri barem prikazane cijene, otključavanje aplikacije i vraćanje kupnje nakon ponovne instalacije. Cijeli postupak opisan je na stranici in-app pretplate na iOS-u.
Što treba provjeriti u TestFlightu prije slanja aplikacije Appleu?
Ponovno instaliraj aplikaciju iz TestFlighta, kao što će to napraviti reviewer, i prođi cijeli onboarding. Odbij svako dopuštenje, testiraj kupnju i vraćanje kupnje, pa isprobaj način rada u zrakoplovu te najmanji i najveći iPhone koji podržavaš. Ako aplikacija traži prijavu, pripremi demo račun u bilješkama za pregled, s uključenim backendom.