TestFlight — Apples officiella plattform för att distribuera förhandsversioner av appar bland testare. Gör det möjligt för utvecklare att ladda upp betaversioner till App Store Connect, hantera åtkomst och samla in feedback före publicering. Enligt Apple Developer Documentation stöder TestFlight upp till 10 000 externa testare via en offentlig länk och upp till 100 interna via Apple ID.
Huvudpunkter
TestFlight — en betatestplattform integrerad i App Store Connect för distribution av förhandsversioner av appar före publicering i App Store. Utvecklare laddar upp byggen som arkiverats via Xcode och distribuerar dem bland testare utan att manuellt behöva distribuera IPA-filer.
Apple köpte TestFlight 2014 för att ersätta Ad Hoc-distribution via Provisioning Profiles. Tidigare samlade utvecklare in UDID från enheter, skapade en provisioning profile och distribuerade IPA via tredjepartstjänster. TestFlight automatiserade hela processen: testaren installerar betaprogrammet via TestFlight App och utvecklaren hanterar åtkomsten via webbgränssnittet.
Enligt WWDC 2024 bearbetar TestFlight över 2 miljoner testinstallationer varje månad. Plattformen stöder distribution till alla Apple-plattformar, inklusive iOS, iPadOS, macOS, tvOS, watchOS och visionOS, vilket gör den till det enda enhetliga verktyget för betatestning i Apples ekosystem.
TestFlight delar in testningen i två typer: Internal Testing för teammedlemmar (upp till 100 deltagare, bygget tillgängligt direkt efter uppladdning) och External Testing för externa användare (upp till 10 000 deltagare, kräver Beta App Review-granskning). Intern testning kräver ingen moderering, vilket gör den idealisk för snabb kontroll av byggen inom teamet.
External Testing gör det möjligt att bjuda in testare via e-post eller en offentlig länk. Efter godkänd Beta App Review är bygget tillgängligt för nedladdning för alla inbjudna. För appar som publiceras för första gången är External Testing obligatoriskt enligt App Store Review Guidelines.
Arbetsflödet för TestFlight börjar med arkivering av appen i Xcode och uppladdning till App Store Connect via Organizer eller Transporter. Efter uppladdning genomgår bygget en automatisk giltighetskontroll och säkerhetsskanning.
Interna testare får ett meddelande om det tillgängliga bygget via TestFlight App. De kan installera appen och lämna feedback via det inbyggda gränssnittet med skärmbilder och textkommentarer. För externa testare krävs godkännande av Beta App Review, varefter bygget distribueras på samma sätt som internt.
TestFlight samlar automatiskt in mätvärden för användning: antal installationer, kraschloggar, skärmbilder med anteckningar och feedback. Utvecklaren ser dessa data i TestFlight-sektionen i App Store Connect. All data aggregeras efter byggversioner, vilket förenklar jämförelse av stabilitet mellan olika byggen.
Varje uppladdat bygge i TestFlight har en giltighetstid på 90 dagar. Efter utgången kan testare inte längre installera eller starta appen. För att fortsätta testningen måste ett nytt bygge med ett högre versionsnummer laddas upp. Begränsningen uppmuntrar utvecklare att regelbundet uppdatera byggen.
När utgångsdatumet närmar sig skickar TestFlight meddelanden till utvecklaren och testarna. Om inget nytt bygge laddas upp i tid avbryts testningen och deltagarna förlorar åtkomsten till appen tills en ny version dyker upp.
Konfigurationen av TestFlight börjar i App Store Connect i TestFlight-sektionen. För att starta krävs minst ett uppladdat bygge av appen. Gränssnittet är uppdelat i tre huvudsektioner: byggen, interna testare och externa grupper.
Interna testare läggs till via Apple ID. Varje deltagare måste bjudas in via App Store Connect med en roll som inkluderar åtkomst till testning. Efter inbjudan får testaren ett e-postmeddelande och kan installera appen via TestFlight App på enheten.
För extern testning skapas grupper som kombinerar testare efter scenarier. Varje grupp är kopplad till specifika byggen. En grupp kan ha en offentlig länk för självständig anslutning — detta är praktiskt för open source-projekt eller massiv betatestning. Enligt Apple Developer Documentation kan den offentliga länken återkallas när som helst utan att redan anslutna testare förlorar åtkomsten.
Uppladdning av bygge till TestFlight sker via Xcode Organizer efter arkivering av projektet. För uppladdning krävs ett konto i Apple Developer Program med Admin- eller App Manager-behörighet i App Store Connect.
Före uppladdning måste bygget signeras med ett giltigt Distribution Certificate och innehålla en Provisioning Profile med App Store-distribution. Xcode konfigurerar automatiskt signeringen via Automatic Signing när utvecklarkontot är aktivt.
# Ladda upp via xcrun altool (Xcode 15+ använder notarytool)
xcrun notarytool submit MyApp.ipa --apple-id "developer@example.com" --team-id "TEAMID123" --password "@keychain:AC_PASSWORD" --wait
# Ladda upp direkt till App Store Connect
xcrun altool --upload-app -f MyApp.ipa -t ios -u "developer@example.com" -p "@keychain:AC_PASSWORD"
Efter uppladdning genomgår bygget en automatisk kontroll: validering av binärfil, skanning efter skadlig kod, kontroll av överensstämmelse med App Store Review Guidelines. Kontrollen tar vanligtvis från några minuter till en timme. Status visas i App Store Connect i TestFlight-sektionen.
För CI/CD (GitHub Actions, Bitrise, Jenkins) används xcrun altool eller notarytool för direkt uppladdning av bygget utan Xcode. Autentiseringsnycklar lagras i Keychain eller App Store Connect API. Fastlane tillhandahåller åtgärden upload_to_testflight för full automatisering av processen.
Inbjudan av testare till TestFlight beror på typen av testning. Interna testare läggs till direkt i App Store Connect via Apple ID och får åtkomst till alla byggen omedelbart efter uppladdning. Externa testare bjuds in via grupper med angivande av specifika byggen.
För extern testning krävs genomgång av Beta App Review — en förenklad version av App Review som kontrollerar grundläggande funktionalitet och efterlevnad av regler. Det första externa bygget genomgår vanligtvis granskning inom 1–2 dagar, efterföljande snabbare. Efter godkännande får alla testare i gruppen ett meddelande.
En offentlig länk förenklar inbjudan: utvecklaren publicerar länken på webbplatsen eller sociala medier, användare klickar på den och ansluter automatiskt till testningen. TestFlight stöder upp till 10 000 deltagare per extern grupp och antalet grupper är obegränsat. För varje app kan flera grupper med olika byggen konfigureras.
Testare skickar feedback via TestFlight App och bifogar skärmbilder och anteckningar. Utvecklaren ser all feedback i App Store Connect, grupperad efter bygge. Varje feedback innehåller OS-version, enhetsmodell och en tidsstämpel, vilket underlättar reproduktion och åtgärdande av buggar.
Publicering av appen från TestFlight i App Store kräver ingen ombyggnad. Välj bara det godkända betabygget i App Store Connect och klicka på Submit for Review. Samma bygge som genomgick betatestning skickas till slutlig App Review utan omkompilering.
Detta garanterar att exakt den version som deltagarna testade hamnar i produktion, vilket eliminerar risker för skillnader mellan beta- och releasebygget. Efter godkänd slutlig App Review publiceras bygget automatiskt i App Store enligt de inställda Availability-reglerna.
Före publicering måste utvecklaren uppdatera metadata: versionsbeskrivning, skärmbilder för den nya OS-versionen och information om ändringar. TestFlight-byggen som inte skickats till App Store tas automatiskt bort 90 dagar efter uppladdning, tillsammans med all testdata.
Vanliga frågor
Automatisk granskning tar vanligtvis 5 minuter till en timme. Beta App Review för extern testning — från några timmar till 2 dagar. För återkommande byggen går granskningen snabbare eftersom Apple tar hänsyn till historiken från tidigare recensioner.
TestFlight är endast tillgängligt för deltagare i Apple Developer Program (99$/år). Utan prenumeration är uppladdning av byggen till App Store Connect omöjlig. För Ad Hoc-distribution utan prenumeration krävs ett Enterprise-konto eller SideStore.
Ad Hoc kräver insamling av UDID från enheter, skapande av Provisioning Profile och manuell distribution av IPA. TestFlight automatiserar hela processen: utvecklaren laddar upp bygget, testaren installerar via TestFlight App utan provisioning-profiler och UDID.
Ett bygge i TestFlight har en livslängd på 90 dagar från tidpunkten för uppladdning. Efter utgången kan testare inte installera eller starta appen. För att förlänga testningen måste ett nytt bygge med ett högre versionsnummer laddas upp.
TestFlight stöder macOS-appar från och med macOS 11 Big Sur. Testare installerar betaversionen via TestFlight App på Mac. Processen för uppladdning och hantering skiljer sig inte från iOS-versionen: arkivering i Xcode, uppladdning via Organizer.
Sammanfattning
Vi utvecklar en mobil applikation nyckelfärdigt
IT Sectr skapar iOS- och Android-applikationer för startups och företag sedan 2017. Vi ger dig råd och föreslår den bästa lösningen.
Läs också