TestFlight-Anleitung: interne und externe Tester, öffentliche Links und Limits
TestFlight ist Apples Dienst für Betatests in App Store Connect: Du gibst einen Build ohne Prüfung an bis zu 100 interne Tester aus deinem Team und nach einer TestFlight-Prüfung an bis zu 10.000 externe Tester pro App, per E-Mail oder öffentlichem Link, und jeder Build bleibt 90 Tage testbar.
Was ist TestFlight?
TestFlight ist der Betatest-Bereich von App Store Connect. Du lädst einen Build einmal hoch, wählst, wer ihn bekommt, und die Tester installieren ihn mit der kostenlosen TestFlight-App auf ihrem Gerät. Das funktioniert für Apps unter iOS, iPadOS, macOS, tvOS, visionOS und watchOS und setzt die bezahlte Mitgliedschaft im Apple Developer Program voraus (siehe Apple Developer Account Kosten).
Welche Limits hat TestFlight?
| Limit | Wert |
|---|---|
| Interne Tester | Bis zu 100 App-Store-Connect-Nutzer |
| Externe Tester | Bis zu 10.000 pro App |
| Geräte pro Tester | Bis zu 30 |
| Builds, die du teilen kannst | Bis zu 100, mehrere gleichzeitig im Test |
| Lebensdauer eines Builds | 90 Tage nach dem Upload, danach für Tester nicht mehr verfügbar |
| Einreichungen zur TestFlight-Prüfung | Bis zu 6 Builds in 24 Stunden |
| Builds pro Version in Prüfung | Jeweils einer |
| Tester-Limit für öffentliche Links | Jede Zahl von 1 bis 10.000 |
Interner oder externer Test: Was passt?
| Interner Test | Externer Test | |
|---|---|---|
| Wer | Deine App-Store-Connect-Nutzer (Account Holder, Admin, App Manager, Developer, Marketing) | Jeder mit einem Apple Account |
| Wie viele | 100 | 10.000 pro App |
| Prüfung | Keine | Erster Build braucht eine TestFlight-Prüfung |
| Einladung | Aufnahme in eine interne Gruppe | E-Mail, CSV-Import oder öffentlicher Link |
| Ideal für | Tägliche Builds für das Team | Echte Nutzer, Betaprogramme, Generalprobe vor dem Start |
Du musst eine interne Gruppe anlegen, bevor du eine externe anlegen kannst.
Wie richtest du interne Tester ein?
- Öffne in App Store Connect Apps, wähle die App und klicke auf den Tab TestFlight.
- Klicke in der Seitenleiste auf + neben Internal Testing, benenne die Gruppe und klicke auf Create.
- Klicke auf Invite Testers und wähle Nutzer aus deinem Team.
- Klicke auf Add Builds, oder setze ein Häkchen bei Enable automatic distribution, damit jeder neue Xcode-Build die Gruppe erreicht. Builds aus Xcode Cloud musst du Gruppen von Hand hinzufügen.
Interne Tester können jeden Build 90 Tage lang testen. Builds, die als „TestFlight Internal Only“ hochgeladen wurden, gehen nur an interne Gruppen, nie an externe Tester oder in den App Store.
Wie lädst du externe Tester ein?
- Klicke im TestFlight-Tab auf + neben External Testing, benenne die Gruppe und klicke auf Create.
- Wähle die Gruppe, klicke auf Add Builds und wähle Plattform, Version und Build.
- Schreibe What to Test, den Hinweis, den die Tester sehen; lokalisierte Fassungen sind möglich.
- Fülle die Testinformationen aus, falls noch nicht geschehen: Feedback-E-Mail, Kontaktdaten und, wenn die App einen Login hat, Anmeldedaten für den Prüfer.
- Klicke auf Submit Review. Sobald der Build freigegeben ist, werden die Tester automatisch benachrichtigt, wenn du diese Option gewählt hast; sonst klickst du beim Build auf Notify Testers.
Der erste Build, den du einreichst, braucht eine vollständige Prüfung; spätere Builds derselben Version eventuell nicht. Apple nennt keine Prüfdauer für TestFlight. Plane also Puffer ein, bevor eine Beta startet.
Wie funktionieren öffentliche Links?
Über einen öffentlichen Link kann jeder ohne E-Mail-Einladung beitreten. Klicke im Tab Testers der externen Gruppe auf Create Public Link und wähle:
- Open to Anyone oder Filter by Criteria: mindestens ein Kriterium wie Gerätetyp und OS-Version (ab, neuer oder gleich, älter oder gleich, oder alle unterstützten).
- Tester Limit: eine Zahl zwischen 1 und 10.000.
Tester, die über einen öffentlichen Link kommen, erscheinen anonym: Du siehst weder Namen noch E-Mail. Ist dein Tester-Limit erreicht, deaktiviere den Link, damit alle sehen, dass er geschlossen ist.
Fehlersuche: „No builds available“
Geh diese Liste der Reihe nach durch:
- Wird der Build noch verarbeitet? Frische Uploads brauchen Zeit, bis sie in TestFlight erscheinen.
- Ist die Exportkontrolle beantwortet? Ohne diese Antwort lässt sich ein Build nicht testen. Trag
ITSAppUsesNonExemptEncryptionin die Info.plist ein, damit die Frage nicht jedes Mal kommt. - Ist der Build in der Gruppe des Testers? Ein Build, den du einer Gruppe hinzufügst, landet nicht automatisch in anderen.
- Extern: Ist er freigegeben? Ein Build, der auf die Beta-Prüfung wartet oder dort abgelehnt wurde, ist nicht verfügbar.
- Ist er abgelaufen? Builds sind 90 Tage nach dem Upload nicht mehr verfügbar.
- Erfüllt das Gerät die Bedingungen? Es muss das Mindest-OS des Builds erfüllen und bei öffentlichen Links deine Kriterien.
- Ist der Tester mit dem eingeladenen Apple Account angemeldet? Die TestFlight-App zeigt Builds für das Konto, mit dem sie angemeldet ist. Verwaltete Apple Accounts in reservierten Domains können keine Builds testen.
- Ist es ein Build nur für interne Tests? Solche Builds sehen externe Tester nie.
Was kann TestFlight nicht?
- Bewertungsabfragen erscheinen nicht: Die Bewertungsanfrage von StoreKit hat in TestFlight-Builds keine Wirkung. Teste diesen Ablauf also in der Entwicklung (siehe asking for ratings on iOS, auf Englisch).
- Feedback der Tester ist privat; nichts davon erscheint im App Store.
- Eine Freigabe in TestFlight garantiert keine Freigabe im App Store; bei der Einreichung gilt weiterhin das volle App Review.
Wo passt TestFlight in den Release?
Teste genau den Build, den du einreichst, und reiche ihn dann über die Versionsseite ein, wie in App im App Store veröffentlichen beschrieben. Bei Updates kombinierst du eine TestFlight-Runde mit einem phased release (auf Englisch), damit ein Fehler erst wenige Nutzer erreicht, bevor er alle trifft. Unter Android sind die passenden Werkzeuge die Test-Tracks von Google Play (auf Englisch).
Nach dem Release stellt die Ansicht Versionseffekt von Uptika (ab dem Plan Starter) die 7 Tage vor und nach jeder Version nebeneinander: Installationen, Conversion, Bewertung, neue Rezensionen und Keyword-Positionen. Mit dem Plan Kostenlos startest du ohne Karte mit täglichen Keyword-Positionen für eine App; die bezahlten Pläne öffnen den Rest.
Fragen
Was ist TestFlight, und wie funktioniert es?
Mit TestFlight schickst du Vorabversionen einer App für iOS, iPadOS, macOS, tvOS, visionOS oder watchOS an Tester. Du lädst einen Build in App Store Connect hoch, fügst ihn einer Testergruppe hinzu, und die Tester installieren ihn über die kostenlose TestFlight-App. Aus der App heraus können sie Feedback und Screenshots senden.
Wie füge ich in TestFlight Tester hinzu?
Interne Tester wählst du in einer internen Gruppe aus den Nutzern deines App-Store-Connect-Teams. Externe Tester lädst du in einer externen Gruppe per E-Mail, per CSV-Import oder über einen öffentlichen Link ein; der erste Build für externe Tester braucht eine TestFlight-Prüfung.
Wie lange dauert die externe TestFlight-Prüfung?
Apple nennt keine eigene Dauer für die TestFlight-Prüfung. Apple sagt nur: Der erste eingereichte Build braucht eine vollständige Prüfung, spätere Builds derselben Version eventuell nicht, und du kannst bis zu sechs Builds in 24 Stunden zur TestFlight-Prüfung einreichen.
Warum zeigt TestFlight „No builds available“?
Meist wird der Build noch verarbeitet, wartet auf die Antwort zur Exportkontrolle, wurde der Gruppe des Testers nie hinzugefügt, steckt noch in der Beta-Prüfung, ist nach 90 Tagen abgelaufen, oder das Gerät erfüllt das Mindest-OS des Builds oder die Kriterien des öffentlichen Links nicht. Prüfe das in dieser Reihenfolge.
Gibt es TestFlight für Android?
Nicht unter diesem Namen. Bei Google Play übernehmen das die Test-Tracks: interner Test für bis zu 100 Tester, geschlossener Test per E-Mail-Liste oder Google Group und offener Test.
Brauchen Tester ein Apple Developer Konto?
Nein. Externe Tester brauchen nur einen Apple Account und die TestFlight-App. Interne Tester müssen Nutzer in deinem App-Store-Connect-Team sein, mit der Rolle Account Holder, Admin, App Manager, Developer oder Marketing.