TestFlight: kako testirati aplikacijo za iPhone pred oddajo
Avtor: Mehdi Azizi
Posodobljeno , 8 min
Notranji in zunanji preizkuševalci, beta pregled, javna povezava, buildi veljajo 90 dni: TestFlight preprosto razložen, s seznamom za preverjanje pred Apple.
Kaj je TestFlight in čemu služi?
TestFlight je Applova storitev, s katero lahko svojo aplikacijo namestiš na prave iPhone, še preden izide v App Store. V App Store Connect pošlješ build, povabiš preizkuševalce, ti pa ga namestijo z aplikacijo TestFlight, ki je v App Store brezplačna. Preizkuševalci so dveh vrst: notranji, do 100 članov tvoje ekipe, brez Applovega pregleda; in zunanji, do 10.000 ljudi, povabljenih po e-pošti ali prek javne povezave, po beta pregledu tvojega prvega builda. Vsak build je mogoče testirati 90 dni.
| Merilo | Notranji preizkuševalci | Zunanji preizkuševalci |
|---|---|---|
| Največje število | 100 | 10.000 |
| Dostop do računa | Da, z vlogo | Ne |
| Povabilo | Dodajanje v notranjo skupino | E-pošta ali javna povezava |
| Applov beta pregled | Brez | Pri prvem buildu |
| Za koga | Ti, družabnik, nekdo bližnji | Prijatelji, prvi uporabniki |
Za uporabo TestFlighta potrebuješ plačljiv račun Apple Developer: storitev z brezplačnim računom ni na voljo. Ves preostanek tega vodiča predpostavlja, da ga imaš, v okviru standardnega programa: Applov program Enterprise ne daje dostopa do TestFlighta.
Pri mojih aplikacijah gre vsak build, ki ga pošljem z EAS Submit, skozi TestFlight in skozi moj iPhone, preden ga oddam v pregled. Tam najdem težave, ki se med razvojem ne vidijo.
Pošiljanje builda v TestFlight
Build je prevedena in podpisana različica tvoje aplikacije: če je narobe podpisana, jo Apple ob pošiljanju zavrne z napako ITMS-90034. Da se prikaže v TestFlightu, ga moraš poslati v App Store Connect. Z Expom je to eas build --platform ios in nato eas submit --platform ios, z dovolj novo build sliko, da se izogneš ITMS-90725. Po Expovi dokumentaciji se build v TestFlightu prikaže, ko ga Apple obdela, običajno v 10 do 15 minutah. Vse to lahko narediš s PC-ja: vodič objava iOS aplikacije brez Maca podrobno opiše celotno verigo.
Dve podrobnosti prvič pogosto zatakneta:
- Številka builda se mora pri vsakem pošiljanju spremeniti. Apple zavrne dva builda z isto številko za isto različico. Pri EAS vklopi samodejno povečevanje in nanj ne boš več mislil.
- Vprašanje o šifriranju. Dokler ne odgovoriš na vprašanje o uporabi šifriranja, build obtiči s statusom Missing Compliance. Odgovoriš lahko vsakič v App Store Connect ali pa to enkrat za vselej navedeš v konfiguraciji aplikacije.
Notranji preizkuševalci: tvoja ekipa, brez čakanja
Notranji preizkuševalci so uporabniki tvojega računa App Store Connect z dodeljeno vlogo. Apple jih dovoli do 100, vsak pa lahko aplikacijo namesti na več naprav, do 30.
Njihova velika prednost: ni beta pregleda. Takoj ko je build obdelan, brez samodejne napake, kot je ITMS-90717, ga dodaš v notranjo skupino in je na voljo. To je prava skupina zate in za družabnika ali nekoga bližnjega, ki mu daš dostop do svojega računa.
Njihova omejitev: dodati jih moraš kot uporabnike svojega računa App Store Connect. Za neznance to ni primerno.
Zunanji preizkuševalci in beta pregled
Zunanji preizkuševalci ne potrebujejo nobenega dostopa do tvojega računa. Povabiš jih lahko do 10.000, po e-pošti ali prek javne povezave. To je prava skupina za prijatelje, prve uporabnike, skupnost.
V zameno Apple build preveri, preden ga odpre zanje. Ko prvi build neke različice dodaš v zunanjo skupino, gre v beta pregled. Naslednji buildi iste različice ne zahtevajo nujno celotnega pregleda.
Pred tem pošiljanjem te App Store Connect vpraša za podatke o testiranju:
- opis bete, ki preizkuševalcem pove, kaj naj pogledajo;
- e-poštni naslov za povratne informacije;
- tvoje kontaktne podatke, da te Apple lahko doseže.
Beta pregled ni pregled za App Store. Build, sprejet v TestFlightu, je ob objavi še vedno lahko zavrnjen.
Beta pregled preveri, ali build upošteva pravila, končni pregled pa gleda tudi tvojo stran v trgovini, naročnine, pravna besedila in celotno izkušnjo. Imej v mislih običajne razloge za zavrnitev, opisane v članku zakaj Apple zavrne aplikacijo.
Vabljenje preizkuševalcev prek javne povezave
Javna povezava je najpreprostejši način, da aplikacijo dobijo v test ljudje, ki jih še ne poznaš. Tukaj je Applov postopek z angleškimi oznakami vmesnika:
- V App Store Connect odpri svojo aplikacijo in nato zavihek TestFlight.
- Pod External Testing izberi svojo zunanjo skupino.
- Klikni Create Public Link.
- Izberi Open to Anyone, da povezavo odpreš vsem, ali Filter by Criteria, da jo omejiš na določene naprave in različice iOS.
- Če želiš, z Set Limit določi omejitev števila preizkuševalcev.
Povezavo nato deliš, kjer želiš: v sporočilu, na družbenem omrežju, po e-pošti. Oseba namesti aplikacijo TestFlight, odpre povezavo in sprejme povabilo.
Dve stvari, ki ju moraš vedeti, preden jo široko razširiš:
- Določi omejitev. Če se povezava razširi bolj, kot si pričakoval, boš ohranil nadzor nad številom preizkuševalcev.
- Preizkuševalci prek javne povezave so anonimni. App Store Connect zanje prikaže samo datum namestitve, seje in sesutja. Če želiš vedeti, kdo je kaj testiral, jih raje povabi po e-pošti.
Koliko časa velja build v TestFlightu?
Build je preizkuševalcem na voljo 90 dni. Potem poteče in ga preizkuševalci ne morejo več odpreti. Če tvoja beta traja dlje, pred iztekom preprosto pošlji nov build.
V praksi boš nove builde pošiljal veliko pogosteje: ob vsakem pomembnem popravku. Vsak nov build, dodan v skupino, se ponudi preizkuševalcem, ki ga prenesejo v aplikaciji TestFlight.
Zbiranje povratnih informacij preizkuševalcev
TestFlight ima vgrajen sistem povratnih informacij: preizkuševalec v tvoji aplikaciji naredi posnetek zaslona, ga lahko označi in ti ga pošlje. Če se aplikacija sesuje, dobiš poročilo o sesutju, preizkuševalec pa lahko doda kontekst. Vse najdeš v App Store Connect.
To je koristno, a za razumevanje konkretnega sesutja ne zadostuje. Pri svojih aplikacijah dodam Sentry, ki sporoči napako skupaj z vrstico kode, ki jo je povzročila, in PostHog, ki pokaže, kje uporabniki odnehajo. Oba delujeta v buildu TestFlight enako kot v produkciji.
Testiranje naročnin v TestFlightu
Če tvoja aplikacija prodaja naročnino, je TestFlight kraj, kjer preveriš, ali res deluje. Nakupi v buildu TestFlight gredo skozi Applovo testno okolje: tvojim preizkuševalcem se nič ne zaračuna. Podaljšanja so pospešena: vsaka naročnina se podaljša enkrat na dan, največ šestkrat v enem tednu, ne glede na dejansko trajanje.
Preveri vsaj, ali so prikazane cene prave, ali nakup res odklene aplikacijo in ali gumb za obnovitev po ponovni namestitvi najde naročnino. Za upravljanje naročnin v svojih aplikacijah uporabljam RevenueCat; celotna postavitev, od izdelkov v App Store Connect do paywalla, je opisana na strani naročnine v aplikacijah iOS.
Kaj moraš preizkusiti pred oddajo Applu
To je seznam, ki ga uporabim pred vsako oddajo v pregled. Vsaka točka ustreza razlogu za zavrnitev ali sesutju, ki se mu je mogoče izogniti.
Prvi zagon
- Izbriši aplikacijo, jo znova namesti iz TestFlighta in jo odpri. Točno to bo naredil pregledovalec.
- Pojdi skozi celoten onboarding, ničesar ne preskoči.
- Zavrni vsako dovoljenje (obvestila, kamera, lokacija) in preveri, ali aplikacija še vedno deluje.
Denar
- Paywall prikazuje cene, trajanje in povezave do pogojev uporabe in pravilnika o zasebnosti.
- Nakup deluje, obnovitev tudi.
- Vsi nastavljeni izdelki so vidni pregledovalcu: smernica 2.1 zahteva, da so nakupi v aplikaciji popolni, vidni in delujoči.
Zahtevni pogoji
- Način za letalo in počasno omrežje: jasno sporočilo, ne bel zaslon.
- Najmanjši in največji iPhone, ki ga podpiraš: nič odrezanega, nič skritega pod tipkovnico. Prav odrezan zaslon na majhnem iPhonu mi je prinesel zavrnitev pri Solysu.
- Dolga besedila, če je aplikacija prevedena.
Gradivo za pregledovalca
- Če aplikacija zahteva prijavo, demo račun v opombah za pregled, s prižganim backendom. Smernica 2.1 to izrecno zahteva.
- Opombe za pregled, ki v dveh stavkih razložijo, kaj aplikacija počne in kje najti glavno funkcijo.
Če je aplikacija kljub vsemu zavrnjena, stran aplikacija, ki jo je Apple zavrnil razloži, kako odgovoriti, ne da bi izgubil teden dni. Za celoten pregled objave, od strani v trgovini do izida, preberi objava aplikacije v App Store.
Tabela za preverjanje tvojega builda
Prenesi tabelo s 16 scenariji v formatu CSV. Loči pripravo, dejanje, ki ga izvedeš, pričakovani rezultat in opaženi dokaz. Uvozi jo v Numbers, Excel ali Google Sheets, nato vpiši različico, napravo in rezultat vsakega poskusa.
Pri izmišljenem bralnem dnevniku »shrani stran« ne zadostuje: vpiši stran 24, aplikacijo popolnoma zapri, jo znova zaženi in preveri, ali je vrednost še tam. Test, ki ni bil izveden, ostane »Za testiranje«. Če tvoja aplikacija nima naročnine, pri scenarijih nakupa označi »Ni relevantno« in navedi ta razlog.
Tabela je izhodišče, ki ga prilagodiš, ne certifikat. Poglej tudi opombe za App Review in druge brezplačne predloge, s katerimi pregledovalcu razložiš potek, ki si ga dejansko preveril.
Od TestFlighta do App Store
TestFlight je korak, kjer tvoja aplikacija postane resnična: teče na pravem iPhonu, v rokah pravih ljudi. Na poti iOS Kit je to drugi korak: zgraditi jedro aplikacije in ga preizkusiti na svojem iPhonu s TestFlightom, preden priklopiš naročnine in pripraviš objavo.
Po TestFlightu pride Applov pregled: Apple Review Kit združuje moj kontrolni seznam pred oddajo in opombe za pregledovalca. Na začetni strani so prikazani štirje koraki, kako ustvariti svojo mobilno aplikacijo s Claude Code.
Nihče ti ne more zagotoviti, da bo Apple tvojo aplikacijo sprejel: odloča Apple.
Pogosta vprašanja
Kako testirati aplikacijo za iPhone s TestFlightom?
Pošlji build v App Store Connect in ga dodaj v skupino preizkuševalcev. Z Expom ga prevedeš z EAS Build in pošlješ z EAS Submit: v TestFlightu se prikaže, ko ga Apple obdela, po Expovih podatkih običajno v 10 do 15 minutah. Preizkuševalci ga namestijo z aplikacijo TestFlight, ki je v App Store brezplačna. Potrebuješ plačljiv račun Apple Developer.
Kako ustvariti povezavo TestFlight za vabljenje preizkuševalcev?
V App Store Connect odpri zavihek TestFlight svoje aplikacije, pod External Testing izberi skupino in klikni Create Public Link. Izberi Open to Anyone ali Filter by Criteria, nato z Set Limit določi omejitev. Preizkuševalci prek javne povezave ostanejo anonimni: če želiš vedeti, kdo je kaj testiral, jih raje povabi po e-pošti.
Ali beta pregled v TestFlightu nadomesti pregled za App Store?
Ne. Beta pregled preveri, ali build upošteva pravila, končni pregled pa gleda tudi tvojo stran v trgovini, starostno oceno, naročnine, pravna besedila in celotno izkušnjo. Build, sprejet v TestFlightu, je zato ob objavi še vedno lahko zavrnjen. Beta pregled sprožijo samo zunanji preizkuševalci, pri prvem buildu različice: notranji preizkuševalci ga ne opravljajo.
Koliko preizkuševalcev lahko povabiš v TestFlight?
Povabiš lahko do 100 notranjih in do 10.000 zunanjih preizkuševalcev. Notranji so člani tvojega računa App Store Connect, brez beta pregleda, in vsak lahko aplikacijo namesti na do 30 naprav. Zunanje povabiš po e-pošti ali prek javne povezave, po beta pregledu prvega builda. Vsak build je mogoče testirati 90 dni.
Ali lahko v TestFlightu testiraš naročnino, ne da bi ti jo zaračunali?
Da, nakupi v buildu TestFlight gredo skozi Applovo testno okolje: tvojim preizkuševalcem se nič ne zaračuna. Podaljšanja so pospešena: vsaka naročnina se podaljša enkrat na dan, največ šestkrat v enem tednu, ne glede na dejansko trajanje. Preveri vsaj prikazane cene, odklepanje aplikacije in obnovitev po ponovni namestitvi. Celotna postavitev je opisana na strani naročnine v aplikacijah iOS.
Kaj moraš v TestFlightu preveriti, preden aplikacijo pošlješ Applu?
Aplikacijo znova namesti iz TestFlighta, tako kot bo to naredil pregledovalec, in pojdi skozi celoten onboarding. Zavrni vsako dovoljenje, preizkusi nakup in obnovitev, nato poskusi še način za letalo ter najmanjši in največji iPhone, ki ga podpiraš. Če aplikacija zahteva prijavo, v opombah za pregled pripravi demo račun, s prižganim backendom.