TestFlight — az Apple hivatalos szolgáltatása iOS, iPadOS, watchOS és tvOS alkalmazások béta teszteléséhez. A TestFlight-on keresztül a fejlesztők akár 10 000 külső tesztelő számára osztják meg a megjelenés előtti build-eket, gyűjtenek visszajelzéseket és crash-jelentéseket anélkül, hogy az App Store-ban közzé kellene tenni. A Apple Developer Documentation, 2025 szerint az App Store alkalmazásainak több mint 80%-a használja a TestFlight-ot a kiadás előkészítésének szakaszaiban.
Főbb pontok
TestFlight — az egyetlen hivatalos és legális mód iOS alkalmazások terjesztésére tesztelés céljából, anélkül, hogy az App Store-ban közzétennénk. A szolgáltatást az Apple 2014-ben indította el az azonos nevű cég felvásárlása után. A TestFlight megjelenése előtt a fejlesztők Ad Hoc terjesztést használtak szezononként 100 eszköz korlátozással — a TestFlight eltávolította ezt a korlátozást és néhány kattintásra egyszerűsítette a folyamatot.
Az iOS szigorú biztonsági politikával rendelkezik: az alkalmazás csak az App Store-on keresztül vagy speciális tanúsítványok használatával telepíthető egy eszközre. TestFlight megoldja a béta tesztelés problémáját azáltal, hogy proxyként működik a fejlesztő és a tesztelő között: az Apple ellenőrzi a build-et az alapvető követelmények szempontjából, ezután a tesztelők megkapják az alkalmazást a TestFlight alkalmazáson keresztül az App Store-ból, ami nem igényel bizalmat az alá nem írt fájlok iránt.
Három mód létezik iOS alkalmazások App Store-on kívüli terjesztésére: Ad Hoc (100 eszköz korlátozás, minden eszköz UDID-jét igényli), Enterprise (korlátozás nélküli vállalati belső terjesztés, Apple Enterprise tanúsítványt igényel évi 299 USD-ért) és TestFlight (akár 10 000 tesztelő, ingyenes, nem igényel UDID gyűjtést). A TestFlight az optimális választás béta teszteléshez, az Ad Hoc eszköz-specifikus tesztekhez, az Enterprise — vállalati alkalmazásokhoz alkalmas.
A build TestFlight-on keresztüli közzétételének folyamata öt lépésből áll: összeállítás Xcode-ban, feltöltés App Store Connect-be Archive Organizeren keresztül, feldolgozás Apple által, tesztelők meghívása, alkalmazás telepítése a TestFlight alkalmazáson keresztül. Minden lépés néhány perctől egy óráig tart a projekt összetettségétől függően.
A build-et disztribúciós tanúsítvánnyal és megfelelő provisioning profile-lal kell összeállítani. Az Apple ellenőrzi: a tanúsítvány érvényességét, a bundle identifier egyezését, a privát API-k hiányát, az ikonok helyességét (1024×1024) és az App Store ikon meglétét. Ha a build nem megy át az ellenőrzésen — a TestFlight hibát jelenít meg a probléma leírásával.
Feltöltés után a build átesik az Apple automatizált ellenőrzésén: bináris kód statikus elemzése, digitális aláírás ellenőrzése, privát API-k és malware használatának vizsgálata. Feldolgozás az első build esetén 15 perctől 2 óráig, a következőknél általában 15–30 percig tart. A feldolgozás állapota az Activity-ben látható az App Store Connect-ben.
// TestFlight beállítása a Swift AppDelegate-ben
import UIKit
@main
class AppDelegate: UIResponder, UIApplicationDelegate {
func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
) -> Bool {
// Ellenőrzés: az alkalmazás a TestFlight-on keresztül lett-e telepítve
if Bundle.main.appStoreReceiptURL?.lastPathComponent
== "sandboxReceipt" {
print("Beta version via TestFlight")
}
return true
}
}
TestFlight két csoportra osztja a tesztelőket: belső (Internal Testers) és külső (External Testers). A különbség a résztvevők számában, a build-ekhez való hozzáférésben és az Apple általi áttekintés szükségességében van. A csoport helyes megválasztása felgyorsítja a tesztelési folyamatot és betartja az App Store irányelveit.
Akár 100 résztvevő az Apple Developer Program csapatából. Belső tesztelő meghívásához elegendő az Apple ID-ját hozzáadni az App Store Connect-ben — azonnal hozzáférést kap az összes build-hez. Nincs szükség Apple áttekintésre. Ideális napi smoke teszteléshez és funkciók korai szakaszban történő ellenőrzéséhez.
Akár 10 000 résztvevő a fejlesztői csapaton kívülről. Az első build a külső tesztelők számára átesik az Apple alapáttekintésén (általában 1–2 nap). A következő build-ek olyan változtatásokkal, amelyek nem érintik az alapvető funkciókat, újabb áttekintés nélkül átmehetnek. A külső tesztelők e-mailen vagy nyilvános linken keresztül kapnak meghívót.
| Paraméter | Internal Testers | External Testers |
|---|---|---|
| Max. szám | 100 | 10 000 |
| Apple áttekintés | Nem szükséges | Első build — kötelező |
| Meghívás | Apple ID a csapatból | E-mail / nyilvános link |
| Build érvényessége | 90 nap | 90 nap |
| Hozzáférés build-ekhez | Azonnal az összeshez | Csak aktív csoportok |
A build feltöltése a TestFlight-ba Xcode-on, Application Loader-en vagy parancssoron keresztül történhet az xcrun segítségével. A leggyakoribb módszer — az Xcode Archive Organizeren keresztül a projekt archívumának létrehozása után. Alternatív módszer — automatizálás Fastlane-en keresztül CI/CD Pipeline-hoz.
Állítsa össze az archívumot (Product → Archive), nyissa meg az Organizer-t, válassza ki az archívumot és kattintson a Distribute App gombra. Válassza a TestFlight-ot terjesztési módszerként, adja meg a tanúsítványt és a provisioning profile-t. Az Xcode feltölti a build-et az App Store Connect-be, ahol a feldolgozás után jelenik meg. Az egész folyamat 10–20 percig tart az első feltöltésnél.
Fastlane — a legnépszerűbb eszköz a build-ek TestFlight-ba történő feltöltésének automatizálására. A fastlane pilot parancs feltölti a build-et és kezeli a tesztelőket anélkül, hogy megnyitná az Xcode-ot. A Fastlane CI/CD szerverrel való integrációja lehetővé teszi a build-ek automatikus közzétételét a TestFlight-ban az összes teszt sikeres teljesítése után.
# Fastfile — build feltöltése a TestFlight-ba
default_platform(:ios)
lane :beta do
# Tanúsítványok beszerzése match-en keresztül
match(type: "appstore")
# Összeállítás és aláírás
build_app(
scheme: "MyApp",
export_method: "app-store",
workspace: "MyApp.xcworkspace"
)
# Feltöltés a TestFlight-ba
pilot(
skip_waiting_for_build: true,
distribute_external: false,
notify_external_testers: false
)
end
A Fastlane pilot automatikusan feltölti az IPA-t az App Store Connect-be, vár a feldolgozásra (ha skip_waiting_for_build = false) és hozzárendeli a build-et a kiválasztott tesztelői csoportokhoz. A distribute_external: true parancs azonnal elküldi a build-et a külső tesztelőknek a feldolgozás után.
Fastlane nélkül használható az xcrun: xcrun altool --upload-app --file path/to/app.ipa --username YOUR_APPLE_ID --password @keychain:AC_PASSWORD. altool az Apple által támogatott CI környezetekhez és nem igényel grafikus felületet. A jelszó keychain-en vagy app-specific password-en keresztül kerül elküldésre — ne használjon egyszerű szöveges jelszavakat.
TestFlight több visszajelzési mechanizmust kínál: beépített visszajelző űrlap, crash-naplók automatikus gyűjtése, használati mutatók és képernyőképek. A csapat az összes adatot az App Store Connect-ben kapja meg anélkül, hogy harmadik fél SDK-it kellene beépítenie a béta teszteléshez.
A tesztelő megnyitja a TestFlight alkalmazást, kiválasztja az Ön build-jét és rákattint a Send Feedback gombra. Az űrlap lehetővé teszi szöveges visszajelzés küldését, képernyőkép csatolását és a súlyosság megadását. Az összes visszajelzés az App Store Connect TestFlight → Feedback szakaszában gyűlik össze. A fejlesztő válaszolhat a visszajelzésre, és a tesztelő értesítést kap a TestFlight alkalmazásban.
Az alkalmazás összeomlásakor a TestFlight automatikusan gyűjti a crash-jelentést: hívási verem, operációs rendszer verziója, eszköz modellje és az összeomlás időpontja. Crash-naplók az Xcode Organizerben (Crashes) és az App Store Connect-ben (TestFlight → Crashes) érhetők el. Szimbolizált crash-naplók beszerzéséhez fel kell tölteni a dSYM fájlokat a build-del együtt vagy külön az Xcode-on keresztül.
A TestFlight mutatókat jelenít meg: telepítések száma, aktív tesztelők, munkamenetek és összeomlások. Analitika naponta frissül és segít felmérni a tesztelők elkötelezettségét. Ha egy héten át egyetlen tesztelő sem nyitotta meg az alkalmazást — érdemes újragondolni a csoporttal való kommunikációt vagy a build minőségét.
TestFlight elválaszthatatlan része az App Store-ban történő közzétéel folyamatának. Ugyanaz a build, amely átesett a béta tesztelésen a TestFlight-on keresztül, újrafordítás nélkül elküldhető Apple áttekintésre — elég egy gombot megnyomni az App Store Connect-ben. Ez kiküszöböli annak kockázatát, hogy a éles build eltérjen a tesztelttől.
Az App Store Connect-ben válassza ki a tesztelésen átesett build-et és kattintson a Submit for Review gombra. Az Apple ugyanazt a build-et használja a TestFlight-ból — újra feltöltés nem szükséges. Az áttekintési idő általában 1–3 nap. Ha a build-et elutasítják — javítsa ki a észrevételeket, töltsön fel egy új build-et a TestFlight-ba és ismételje meg a folyamatot.
Javasolt a TestFlight-ban végzett utolsó tesztkör után 24–48 órát várni az áttekintésre küldés előtt. Ez idő alatt a tesztelők felfedezhetik azokat a kritikus hibákat, amelyek átcsúszhatnak az automatikus teszteken. A Release candidate (RC) build a TestFlight-ban — az érett iOS csapatok szabványos gyakorlata.
A TestFlight build-ek automatikusan elérhetetlenné válnak az új telepítések számára, miután a kiadási verzió megjelenik az App Store-ban. Azok a tesztelők, akik már telepítették a béta verziót, továbbra is használhatják azt 30 napig a kiadás közzététele után, ezt követően az alkalmazás nem nyílik meg. Győződjön meg arról, hogy a tesztelők frissítették az App Store verzióra.
Gyakran Ismételt Kérdések
TestFlight teljesen ingyenes az Apple Developer Program résztvevői számára (99 USD/év). A szolgáltatás használatáért nem számítanak fel külön díjat, függetlenül a build-ek és tesztelők számától. Csak az Apple fejlesztői előfizetésért fizet — a TestFlight alapértelmezés szerint része annak.
Nem, a TestFlight az Apple ökoszisztéma kizárólagos szolgáltatása. Az Androidhoz hasonló eszköz létezik a Google Play Console-ban — az Internal Testing és Open Testing track-ek. A béta verziók Androidon történő közzétételéhez szintén használják a Firebase App Distribution és DeployGate szolgáltatásokat.
A feldolgozás 15 perctől 2 óráig tart az első build esetén a feltöltés után. A következő build-ek gyorsabban kerülnek feldolgozásra — általában 15–30 perc. A feldolgozási idő az Apple szervereinek terhelésétől függ. Az állapot követhető az App Store Connect Activity szakaszaiban.
Minden build 90 napig érhető el tesztelésre a feltöltés pillanatától számítva. A build-ek száma nincs korlátozva, de egyidejűleg legfeljebb 30 build lehet aktív. A régebbi build-ek automatikusan törlődnek a lejárati idő után vagy a korlát elérésekor.
A TestFlight-on keresztüli tesztelésben való részvételhez Apple ID szükséges. A külső tesztelők e-mail linken keresztül kapnak meghívót — a link első megnyitásakor a rendszer felkínálja az Apple ID létrehozását, ha még nem létezik. Nyilvános link is elérhető a közösségi médiában vagy blogon történő megosztáshoz.
Ö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