TestFlight — az Apple hivatalos platformja az alkalmazások kiadás előtti build-jeinek tesztelők közötti terjesztésére. Lehetővé teszi a fejlesztők számára, hogy béta verziókat töltsenek fel az App Store Connectbe, kezeljék a hozzáférést, és visszajelzéseket gyűjtsenek a közzététel előtt. Az Apple Developer Documentation szerint a TestFlight akár 10 000 külső tesztelőt támogat nyilvános linken keresztül, és akár 100 belső tesztelőt Apple ID révén.
Főbb pontok
TestFlight — az App Store Connectbe integrált béta tesztelő platform az alkalmazások kiadás előtti build-jeinek terjesztésére az App Store-ban történő közzététel előtt. A fejlesztők az Xcode-on keresztül archivált build-eket töltenek fel, és terjesztik azokat a tesztelők között anélkül, hogy manuálisan kellene IPA fájlokat terjeszteniük.
Az Apple 2014-ben vásárolta meg a TestFlightot, hogy felváltsa az Ad Hoc terjesztést a Provisioning Profiles segítségével. Korábban a fejlesztők összegyűjtötték az eszközök UDID-it, létrehoztak egy provisioning profile-t, és IPA-t terjesztettek harmadik féltől származó szolgáltatásokon keresztül. A TestFlight automatizálta a teljes folyamatot: a tesztelő a TestFlight App segítségével telepíti a béta alkalmazást, a fejlesztő pedig a webes felületen keresztül kezeli a hozzáférést.
A WWDC 2024 szerint a TestFlight havonta több mint 2 millió teszttelepítést dolgoz fel. A platform támogatja a terjesztést az összes Apple platformra, beleértve az iOS-t, iPadOS-t, macOS-t, tvOS-t, watchOS-t és visionOS-t, így ez az egyetlen egységes béta tesztelő eszköz az Apple ökoszisztémájában.
TestFlight két típusra osztja a tesztelést: Internal Testing a csapattagok számára (akár 100 résztvevő, a build azonnal elérhető feltöltés után) és External Testing külső felhasználók számára (akár 10 000 résztvevő, Beta App Review ellenőrzés szükséges). A belső tesztelés nem igényel moderálást, így ideális a build-ek gyors ellenőrzéséhez a csapaton belül.
Az External Testing lehetővé teszi a tesztelők meghívását e-mailben vagy nyilvános linken keresztül. A Beta App Review sikeres teljesítése után a build letölthetővé válik az összes meghívott számára. Az első alkalommal közzétett alkalmazások esetében az External Testing kötelező az App Store Review Guidelines szabályai szerint.
A TestFlight munkafolyamata az alkalmazás Xcode-ban történő archiválásával és az App Store Connectbe történő feltöltésével kezdődik az Organizer vagy Transporter segítségével. Feltöltés után a build automatikus érvényességi ellenőrzésen és biztonsági vizsgálaton esik át.
A belső tesztelők értesítést kapnak az elérhető buildről a TestFlight Appon keresztül. Telepíthetik az alkalmazást, és visszajelzést küldhetnek a beépített képernyőmentési és szöveges kommentár felületen keresztül. A külső tesztelők számára a Beta App Review jóváhagyása szükséges, amely után a build ugyanúgy terjeszthető, mint a belső.
A TestFlight automatikusan gyűjti a használati mérőszámokat: a telepítések számát, crash logokat, annotációkkal ellátott képernyőmentéseket és visszajelzéseket. A fejlesztő ezeket az adatokat az App Store Connect TestFlight szekciójában látja. Minden adat build verziók szerint van összesítve, ami megkönnyíti a különböző build-ek stabilitásának összehasonlítását.
Minden a TestFlightba feltöltött build érvényességi ideje 90 nap. Az időszak lejárta után a tesztelők nem tudják telepíteni vagy futtatni az alkalmazást. A tesztelés folytatásához megemelt verziószámmal rendelkező új build-et kell feltölteni. A korlátozás ösztönzi a fejlesztőket a build-ek rendszeres frissítésére.
A lejárati dátum közeledtével a TestFlight értesítéseket küld a fejlesztőnek és a tesztelőknek. Ha az új build nem kerül időben feltöltésre, a tesztelés megszakad, és a résztvevők elveszítik a hozzáférést az alkalmazáshoz, amíg egy friss verzió meg nem jelenik.
A TestFlight beállítása az App Store Connect TestFlight szekciójában kezdődik. Az indításhoz legalább egy feltöltött alkalmazás build szükséges. A felület három fő részre oszlik: build-ek, belső tesztelők és külső csoportok.
A belső tesztelők Apple ID-n keresztül kerülnek hozzáadásra. Minden résztvevőt meg kell hívni az App Store Connecten keresztül egy olyan szerepkörrel, amely magában foglalja a teszteléshez való hozzáférést. A meghívás után a tesztelő e-mailt kap, és telepítheti az alkalmazást a TestFlight Appon keresztül az eszközén.
Külső teszteléshez csoportok jönnek létre, amelyek forgatókönyvek szerint egyesítik a tesztelőket. Minden csoport konkrét build-ekhez van kötve. Egy csoport rendelkezhet nyilvános linkkel az önálló csatlakozáshoz — ez kényelmes open-source projektekhez vagy tömeges béta teszteléshez. Az Apple Developer Documentation szerint a nyilvános link bármikor visszavonható anélkül, hogy a már csatlakozott tesztelők hozzáférése megszűnne.
A build TestFlightba történő feltöltése az Xcode Organizeren keresztül történik a projekt archiválása után. A feltöltéshez Apple Developer Program fiók szükséges Admin vagy App Manager jogosultságokkal az App Store Connectben.
A feltöltés előtt a build-et érvényes Distribution Certificate-tel kell aláírni, és tartalmaznia kell egy Provisioning Profile-t App Store terjesztéssel. Az Xcode automatikusan konfigurálja az aláírást az Automatic Signing segítségével, ha a fejlesztői fiók aktív.
# Feltöltés xcrun altool segítségével (Xcode 15+ a notarytool-t használja)
xcrun notarytool submit MyApp.ipa --apple-id "developer@example.com" --team-id "TEAMID123" --password "@keychain:AC_PASSWORD" --wait
# Közvetlen feltöltés az App Store Connectbe
xcrun altool --upload-app -f MyApp.ipa -t ios -u "developer@example.com" -p "@keychain:AC_PASSWORD"
A feltöltés után a build automatikus ellenőrzésen esik át: a bináris fájl validálása, rosszindulatú kód vizsgálata, az App Store Review Guidelines-nak való megfelelés ellenőrzése. Az ellenőrzés általában néhány perctől egy óráig tart. Az állapot az App Store Connect TestFlight szekciójában jelenik meg.
CI/CD (GitHub Actions, Bitrise, Jenkins) esetén a xcrun altool vagy notarytool használható a build közvetlen feltöltéséhez Xcode nélkül. A hitelesítési kulcsokat a Keychain vagy az App Store Connect API tárolja. A Fastlane upload_to_testflight akciót biztosít a folyamat teljes automatizálásához.
A tesztelők TestFlightba történő meghívása a teszt típusától függ. A belső tesztelők közvetlenül az App Store Connectben kerülnek hozzáadásra Apple ID-n keresztül, és a feltöltés után azonnal hozzáférést kapnak az összes buildhez. A külső tesztelők csoportokon keresztül kerülnek meghívásra konkrét build-ek megadásával.
Külső teszteléshez a Beta App Review sikeres teljesítése szükséges — az App Review egyszerűsített verziója, amely az alapvető funkcionalitást és a szabályoknak való megfelelést ellenőrzi. Az első külső build általában 1-2 nap alatt esik át az ellenőrzésen, a következők gyorsabban. Jóváhagyás után a csoport összes tesztelője értesítést kap.
A nyilvános link leegyszerűsíti a meghívást: a fejlesztő közzéteszi a linket a weboldalon vagy közösségi médiában, a felhasználók rákattintanak, és automatikusan csatlakoznak a teszteléshez. A TestFlight csoportonként akár 10 000 résztvevőt támogat, a csoportok száma pedig korlátlan. Minden alkalmazáshoz több csoport konfigurálható különböző build-ekkel.
A tesztelők a TestFlight Appon keresztül küldenek visszajelzést, képernyőmentéseket és annotációkat csatolva. A fejlesztő az összes visszajelzést az App Store Connectben látja, build-ek szerint csoportosítva. Minden visszajelzés tartalmazza az OS verziót, a készülék modelljét és egy időbélyeget, ami megkönnyíti a hibák reprodukálását és kijavítását.
Az alkalmazás TestFlightból az App Store-ban történő közzététele nem igényel újraépítést. Elég kiválasztani a jóváhagyott béta build-et az App Store Connectben, és rákattintani a Submit for Review gombra. Ugyanaz a build, amely átesett a béta tesztelésen, kerül a végleges App Review-ra újrafordítás nélkül.
Ez garantálja, hogy pontosan az a verzió kerül élesítésre, amelyet a résztvevők teszteltek, kiküszöbölve a béta és a kiadási build közötti különbségek kockázatát. A végleges App Review sikeres teljesítése után a build automatikusan megjelenik az App Store-ban a beállított Availability szabályok szerint.
A közzététel előtt a fejlesztőnek frissítenie kell a metaadatokat: a verzió leírását, az új OS verzióhoz tartozó képernyőmentéseket és a változásokkal kapcsolatos információkat. Az App Store-ba el nem küldött TestFlight build-ek automatikusan törlődnek 90 nappal a feltöltés után, az összes tesztadattal együtt.
Gyakran Ismételt Kérdések
Az automatikus ellenőrzés általában 5 perctől egy óráig tart. A Beta App Review külső teszteléshez néhány órától 2 napig terjed. Ismételt build-ek esetén az ellenőrzés gyorsabb, mert az Apple figyelembe veszi a korábbi felülvizsgálatok előzményeit.
A TestFlight csak az Apple Developer Program résztvevői számára elérhető (99$/év). Előfizetés nélkül a build-ek feltöltése az App Store Connectbe lehetetlen. Az Ad Hoc terjesztéshez előfizetés nélkül Enterprise fiókra vagy SideStore-ra lesz szükség.
Az Ad Hoc megköveteli az eszközök UDID-jének összegyűjtését, Provisioning Profile létrehozását és az IPA manuális terjesztését. A TestFlight automatizálja a teljes folyamatot: a fejlesztő feltölti a build-et, a tesztelő a TestFlight Appon keresztül telepíti provisioning profilok és UDID nélkül.
A build élettartama a TestFlightban 90 nap a feltöltés pillanatától számítva. A lejárat után a tesztelők nem tudják telepíteni vagy futtatni az alkalmazást. A tesztelés meghosszabbításához megemelt verziószámmal rendelkező új build-et kell feltölteni.
A TestFlight támogatja a macOS alkalmazásokat a macOS 11 Big Sur-tól kezdve. A tesztelők a béta verziót a TestFlight Appon keresztül telepítik Mac-en. A feltöltési és kezelési folyamat nem különbözik az iOS verziótól: archiválás Xcode-ban, feltöltés az Organizeren keresztül.
Összefoglaló
Kulcsrakész mobilalkalmazást fejlesztünk
Az IT Sectr 2017 óta készít iOS és Android alkalmazásokat induló vállalkozásoknak és vállalkozásoknak. Tanácsot adunk, és a legjobb megoldást javasoljuk.
Olvassa el is