Expo Go ist eine kostenlose App aus dem App Store und von Google Play, die Ihr Expo-Projekt auf einem echten Smartphone ausführt, ohne irgendetwas zu kompilieren. Sie starten das Projekt auf Ihrem Computer, scannen einen QR-Code, und der Screen, den Sie gerade bearbeitet haben, erscheint wenige Sekunden später auf Ihrem iPhone oder Android-Gerät. Sie speichern eine Datei, das Smartphone aktualisiert sich. Für eine erste Version einer App ist es der kürzeste Weg vom Code zu einem echten Touchscreen.
Es ist zugleich das Werkzeug, das Einsteiger am häufigsten missverstehen. Expo Go ist nicht Ihre App, und es ist nie das Binary, das Sie ausliefern: Es ist ein Container, der die native Seite des Expo SDK bereits enthält und nur Ihr JavaScript lädt. Diese eine Tatsache erklärt, was es testen kann und was nicht, welche Versionsfehler Ihnen begegnen werden und warum Expo 2026 eine Anmelderegel für Konten eingeführt hat. Dieser Leitfaden behandelt all das, mit dem Workflow für beide Plattformen.
Wenn Expo selbst neu für Sie ist, beginnen Sie mit unserem Überblick Was ist Expo; dieser Artikel setzt voraus, dass Sie ein Projekt haben und es auf einem Smartphone sehen wollen.
Was Expo Go tatsächlich tut
Eine Expo-App hat zwei Hälften. Die native Hälfte ist kompilierter Code: die React-Native-Laufzeit, die Expo-SDK-Module für Kamera, Standort, Benachrichtigungen oder Dateien und jede native Bibliothek, die Sie hinzufügen. Die JavaScript-Hälfte sind Ihre Screens und Ihre Logik, gebündelt vom Entwicklungsserver Metro. Die native Hälfte zu bauen dauert Minuten auf einem Mac oder bei einem Cloud-Build-Dienst; die JavaScript-Hälfte zu bündeln dauert Sekunden.
Expo Go liefert die native Hälfte vorgebaut aus, einmal, für alle: ein fester Satz von Expo-SDK-Modulen, kompiliert in eine einzige App, die Expo in den Stores veröffentlicht. Wenn Sie den QR-Code scannen, fragt Expo Go bei Metro ein Manifest an, lädt Ihr JavaScript-Bundle über das lokale Netzwerk herunter und führt es in seiner eigenen nativen Hülle aus. Auf Ihrer Seite wird nichts kompiliert. Deshalb ist es so schnell, und deshalb funktioniert es nur, wenn Ihr Projekt dieselbe SDK-Version verwendet wie der Expo-Go-Build, der auf dem Smartphone installiert ist.
Auf iPhone und Android testen, Schritt für Schritt
Der Workflow ist auf beiden Plattformen derselbe, mit einem Unterschied im Jahr 2026: Auf dem iPhone prüft Expo Go jetzt, ob Sie mit demselben Expo-Konto angemeldet sind wie die Kommandozeile, die das Projekt gestartet hat.
1. Expo Go installieren und anmelden
Auf dem iPhone installieren Sie Expo Go aus dem App Store. Die Version für SDK 57 kam im September 2026 in den Store zurück, nach mehreren Monaten in Apples Prüfwarteschlange, in denen sie als persönlicher TestFlight-Build installiert werden musste. Auf Android installieren Sie es von Google Play oder von expo.dev/go, wenn Sie eine ältere SDK-Version brauchen, die der Store nicht mehr anbietet.
Legen Sie dann ein kostenloses Expo-Konto auf expo.dev an, falls Sie noch keines haben, und melden Sie sich zweimal an: in Expo Go auf dem Smartphone und in der Expo CLI auf Ihrem Computer mit dem Befehl expo login. Seit dem 3. September 2026 verlangt Expo auf beiden Seiten dasselbe Konto, um ein SDK-57-Projekt in Expo Go auf einem physischen iPhone zu öffnen. Simulatoren sind ausgenommen, Development Builds sind ausgenommen, und Android bekommt dieselbe Regel später. Weichen die Konten voneinander ab, lässt sich das Projekt schlicht nicht öffnen.
2. Projekt starten und QR-Code scannen
Führen Sie im Projektordner npx expo start aus. Metro startet, gibt im Terminal einen QR-Code aus und eine Adresse der Form exp://192.168.x.x:8081. Auf dem iPhone öffnen Sie die integrierte Kamera-App, richten sie auf den QR-Code und tippen auf das Banner: Es öffnet direkt Expo Go. Auf Android öffnen Sie Expo Go und nutzen dessen Schaltfläche „Scan QR code“. Sehen sich Smartphone und Computer, wird das Bundle heruntergeladen, und Ihr erster Screen erscheint.
Von da an löst jedes Speichern Fast Refresh aus: Die geänderte Komponente lädt an Ort und Stelle neu und behält den App-Zustand, wenn möglich. Schütteln Sie das Smartphone, um das Entwicklermenü zu öffnen, mit dem Sie manuell neu laden, den Element-Inspektor öffnen oder den Performance-Monitor aktivieren können.
3. Gleiches Netzwerk, Tunnel und die üblichen Fehler
Das Smartphone lädt das Bundle von Ihrem Computer, also müssen beide im selben WLAN sein, und das Netzwerk muss erlauben, dass Geräte miteinander sprechen. Büro- und Hotelnetzwerke blockieren das oft. Die Lösung ist ein Tunnel: npx expo start --tunnel leitet die Verbindung über eine ngrok-URL, die aus jedem Netzwerk funktioniert, um den Preis eines langsameren ersten Ladens. Die meisten übrigen Probleme laufen auf eine Handvoll Meldungen hinaus:
| Was Sie sehen | Was es bedeutet | Was zu tun ist |
|---|---|---|
| Project is incompatible with this version of Expo Go | Das SDK Ihres Projekts und das installierte Expo Go passen nicht zusammen | Aktualisieren Sie das Projekt mit npx expo install expo@latest, oder installieren Sie den Expo-Go-Build für Ihr SDK von expo.dev/go |
| Das Projekt öffnet sich nicht oder fordert zur Anmeldung auf | Nur iPhone: CLI und Expo Go sind nicht mit demselben Konto angemeldet | Führen Sie npx expo whoami aus, melden Sie sich mit expo login an und prüfen Sie den Kontonamen im Profil-Tab von Expo Go |
| Something went wrong: could not connect to the server | Das Smartphone erreicht Ihren Computer nicht über das Netzwerk | Dasselbe WLAN für beide, Port 8081 in der Firewall freigeben oder mit --tunnel neu starten |
| Native module cannot be null, oder ein roter Bildschirm beim Start | Das Projekt nutzt nativen Code, der nicht Teil des Expo SDK ist | Expo Go kann ihn nicht ausführen: Wechseln Sie für dieses Projekt zu einem Development Build |
| Die App öffnet sich, aber eine Funktion tut stillschweigend nichts | Eine Fähigkeit, die Expo Go nicht unterstützt, etwa Remote-Push-Benachrichtigungen | Testen Sie diese Funktion in einem Development Build oder in TestFlight |
Was Expo Go nicht testen kann, und was Sie stattdessen nutzen
Weil die native Hälfte festgelegt ist, endet Expo Go genau dort, wo Ihr Projekt nativen Code braucht, der nicht im Expo SDK steckt: eine native Bibliothek eines Drittanbieters, ein Config-Plugin, das das iOS- oder Android-Projekt verändert, ein eigenes Swift- oder Kotlin-Modul. Es kann Ihnen auch nicht zeigen, was nur in Ihrem eigenen Binary existiert: Ihr App-Icon und Ihren Splash-Screen, Ihren Bundle Identifier, Ihre Deep Links, Ihre In-App-Käufe. Seit SDK 53 hat Expo außerdem Remote-Push-Benachrichtigungen aus Expo Go entfernt und verweist dafür auf Development Builds.
Der Ersatz ist ein Development Build: Ihre eigene App, einmal kompiliert mit den Entwicklerwerkzeugen darin, die Sie auf dem Smartphone installieren und dann genau wie mit Expo Go live neu laden. Er enthält Ihre nativen Module, Ihr Icon und Ihre Kennungen, und er braucht kein Expo-Konto, um ein Projekt zu öffnen. Die letzte Prüfung vor der Einreichung ist noch einmal ein anderes Werkzeug: TestFlight unter iOS und der interne Test-Track bei Google Play installieren das echte Release-Binary.
| Sie wollen prüfen | Expo Go | Development Build | TestFlight / interner Play-Test |
|---|---|---|---|
| Screens, Navigation, Layout auf einem echten Bildschirm | Ja | Ja | Ja |
| Kamera, Standort, Sensoren, Bildauswahl (expo-*-Module) | Ja | Ja | Ja |
| Native Drittanbieter-Bibliothek oder eigenes natives Modul | Nein | Ja | Ja |
| Remote-Push-Benachrichtigungen | Nein | Ja | Ja |
| App-Icon, Splash-Screen, Deep Links, In-App-Käufe | Nein | Ja | Ja |
| Das exakte Binary, das Nutzer installieren werden | Nein | Nein | Ja |
| Einrichtungsaufwand | Keiner | Ein Build (EAS oder lokal), dann Live-Reload | Ein Release-Build und ein Store-Konto |
Expo Go in Cadrant
Native Mobilprojekte, die mit dem Mobile-App-Baukasten von Cadrant gebaut werden, sind Expo- und React-Native-Apps, es gelten also dieselben Regeln. Der Editor zeigt die App in einem Smartphone-Rahmen, und ein QR-Code öffnet das laufende Projekt in Expo Go auf Ihrem eigenen Gerät. Wegen der Anmelderegel von 2026 erscheint der QR-Code, sobald Ihr Expo-Konto verbunden ist: Legen Sie ein kostenloses Konto auf expo.dev an, erzeugen Sie ein persönliches Zugriffstoken, fügen Sie es unter Einstellungen, Integrationen, Expo ein, und melden Sie sich dann auf dem Smartphone mit demselben Konto in Expo Go an. Cadrant startet den Entwicklungsserver mit Ihrem Token, sodass die Kontoprüfung besteht.
Die meisten expo-*-APIs laufen dort direkt, was die täglichen Tests abdeckt: Kamera, Standort, Sensoren, Bildauswahl, lokale Benachrichtigungen. Für nativen Code außerhalb des SDK und für die abschließende Prüfung veröffentlichen Sie einen echten Build: Das iOS-Binary wird auf Ihrem Expo-Konto kompiliert und in Ihr App Store Connect geliefert, wo TestFlight es auf Ihren Geräten installiert; auf Android landet der Build im internen Test-Track Ihrer Play Console. Die Dokumentation zu nativen Mobil-Apps beschreibt beide Wege.
Die Kurzfassung
- Expo Go ist ein vorgebauter Container für das Expo SDK: Es lädt Ihr JavaScript, nie Ihren nativen Code, und es muss zur SDK-Version Ihres Projekts passen.
- Auf dem iPhone melden Sie sich seit September 2026 in der CLI und in Expo Go mit demselben Expo-Konto an, sonst öffnet sich das Projekt nicht; Simulatoren und Development Builds sind ausgenommen.
- Dasselbe WLAN oder ein Tunnel, dann scannen: die Kamera-App auf dem iPhone, der integrierte Scanner auf Android.
- Eigene native Module, Remote-Push-Benachrichtigungen, Icons, Deep Links und Käufe brauchen einen Development Build; das exakte Binary braucht TestFlight oder den internen Play-Track.
Nutzen Sie Expo Go für das, was es am besten kann, einen Screen dreißig Sekunden nach dem Schreiben auf einem echten Smartphone zu sehen, und wechseln Sie zu einem Development Build an dem Tag, an dem Ihr Projekt etwas braucht, das der Container nicht hat. Der Wechsel ist ein einmaliger Build, keine Neuentwicklung.