Meine React Native App funktioniert im XCode-Simulator ohne Probleme, aber wenn ich in einem physischen Gerät, mein iPhone, läuft, gibt es ein Problem. Die App wird gestartet und bleibt auf dem Begrüßungsbildschirm von React Native hängen, und die App stürzt nach 10-15 Sekunden ab bzw. wird geschlossen. Was ist die Ursache dafür und wie kann ich es verhindern?Reagieren native App auf Splash-Screen auf dem Gerät fest, funktioniert aber im Simulator
Antwort
Es scheint, dass ich das Problem gefunden habe. Gemäß http://facebook.github.io/react-native/releases/0.45/docs/running-on-device.html#running-your-app-on-ios-devices lädt Ihre App bei der Erstellung und Ausführung der App auf Ihrem Gerät js-Dateien vom Packager auf Ihrem Computer, damit Sie Ihre App neu laden können. Das bedeutet, dass Ihr Gerät mit Ihrem Computer verbunden sein muss oder sich im selben WLAN-Netzwerk wie Ihr Computer befinden muss. Wenn Ihr Gerät nicht auf den Packer zugreifen kann, bleibt es auf dem Begrüßungsbildschirm hängen und wird beendet.
Um zuverlässig auf Ihrem Gerät zu laufen, bearbeiten Sie das Build-Schema und erstellen Sie die Release-Version.
Wir sahen das gleiche, App würde Time Out (oder Anzeige "no bundle URL vorhanden" nach einer Weile), wenn Telefon nicht auf Wifi. Nach Produkt -> Schema -> Schema bearbeiten und den Schritt Ausführen auf Freigeben setzen. –
Ja, das ist das genaue Problem, danke! – Li357
Das war es auch für mich. Vielen Dank. – xenetics
Sie müssen wahrscheinlich die App unterschreiben.
Klicken Sie im Projektnavigator auf Ihre App. Wählen Sie dann Ihr Ziel aus der Projekt- und Zielliste. Suchen Sie auf der Registerkarte "Allgemein" nach dem Abschnitt "Signieren". Sie müssen hier ein Team angeben.
Siehe diesen Link für weitere Informationen: https://developer.apple.com/library/content/documentation/IDEs/Conceptual/AppDistributionGuide/LaunchingYourApponDevices/LaunchingYourApponDevices.html#//apple_ref/doc/uid/TP40012582-CH27-SW4
ich mein iPhone aus dem Internet versucht zu trennen, ist das Problem in späteren Starts verschwunden.
So etwas versucht, Netzwerk-Zeug zu tun und die Verzögerung zu verursachen. Es ist eine schnelle Lösung, wird aber tun, bis wir den spezifischen Schuldigen finden.
Es ist schon eine Weile her, dass ich das gepostet habe, aber die Lösung ist, die Ordner node_modules zu löschen und npm install auszuführen, um einen sauberen zu erhalten.
Es sollte durchaus möglich sein, die App im Debug zu starten, auf dem Gerät, ohne den Packager angeschlossen! Sie müssen react-native bundle
verwenden, um ein Offline-Paket zu erstellen und es Ihrem Xcode-Projekt hinzuzufügen. Dann sollte Ihre App auf dieses Paket zurückgreifen, wenn der Paketanbieter nicht verfügbar ist.
Dies war früher in der Dokumentation zum Bereitstellen von Geräte-FBs, nicht sicher, warum es nicht mehr da ist.
Beispielaufruf (unsere index.ios.js
in ./dist
von Typoskript gesetzt wird):
react-native bundle --dev true --assets-dest ./ios --entry-file ./dist/index.ios.js --platform ios --bundle-output ios/main.jsbundle
Außerdem ist es offensichtlich notwendig, um Ihre App zu sagen, direkt aus dem Bündel zu laufen, anstatt zu versuchen, die Entwicklung Server zuzugreifen, das scheint um die Zeitüberschreitung zu verursachen (wir hatten das gleiche Problem wie OP).
Kommentar aus dieser Zeile:
jsCodeLocation = // whatever
Und fügen Sie diese Zeile:
jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];
stand ich dieses Problem, wo ich war reagieren-native-Splash-Screen. Nach dem Entfernen funktioniert es
Nein, wo steht, dass wir dieses Paket benutzen? –
Ich stimme zu. Aber nicht sicher, warum dies nach dem Entfernen des Pakets funktioniert. Ich fügte das als Antwort hinzu, weil dadurch mein Problem gelöst wurde. – Sujit
Ich hatte das gleiche Problem.
Was ich tat, war in Xcode gehen Sie zu Produkte -> Schema -> Schema bearbeiten -> Wählen Sie die Registerkarte Ausführen -> Ändern Sie die Build-Konfiguration zu Release (Standard war es Debug-Modus) und führen Sie die App im Gerät.
Es war viel schneller und führen Sie es wie eine native App.
Für mich, wenn ich baue, es war gut im Simulator aber in der eigentlichen Gerät nur Splash-Bildschirm kam und nichts anderes.
Das war, weil meine Build-Konfiguration war Debug-Modus, der Standard ist ich denke, ich musste Release/Build-Konfiguration von Debug zu Release ändern und alles funktioniert wie erwartet.
- 1. webView Lasten im Simulator aber nicht auf dem Gerät
- 2. React native App ist bei Splashscreen fest
- 3. Ionic App funktioniert nicht auf Gerät/Simulator
- 4. App funktioniert in Simulator aber nicht auf Gerät - NSMutableArray
- 5. ios: Timer arbeitet im Simulator aber nicht auf dem Gerät
- 6. iAd erscheint auf dem Simulator, aber nicht auf dem Gerät
- 7. SplashScreen in reagieren native
- 8. UIBlurEffect nicht auf Gerät verwischen, funktioniert aber im Simulator
- 9. Xcode-Projekt funktioniert im Simulator, nicht auf dem Gerät
- 10. Code funktioniert auf Simulator aber nicht auf Gerät
- 11. React Native: Speicher funktioniert nur im Simulator
- 12. Reagieren Native App zeigt falsche App im Simulator
- 13. Warum funktioniert dieser Code auf dem Xcode-Simulator, funktioniert aber nicht auf dem Gerät?
- 14. ReactNative: App läuft auf dem Gerät kann nicht reagieren Ereignis
- 15. AVAudioFile Init funktioniert auf Simulator aber stürzt auf Gerät
- 16. AVSpeechSynthesizer funktioniert auf Simulator aber nicht auf Gerät
- 17. Heute Widget startet nicht auf dem Gerät (funktioniert auf Simulator)
- 18. iAd läuft gut auf Simulator, aber nicht auf dem Gerät
- 19. Youtube auf dem Gerät ausfällt, funktioniert auf Simulator
- 20. Komplikation funktioniert auf Simulator, aber nicht auf Gerät
- 21. reagieren-native ios Simulator Touch funktioniert nicht
- 22. Share-Erweiterung arbeitet am Simulator, aber nicht auf dem Gerät
- 23. UIScrollView App in Crashing Gerät aber läuft perfekt im Simulator
- 24. Threading funktioniert im Simulator aber nicht auf dem iPhone
- 25. Swift App wird auf dem Simulator aber nicht auf dem Gerät geöffnet
- 26. Facebook iOS SDK funktioniert nicht auf dem Gerät (erfordert einen gültigen Weiterleitungs-URI), aber im Simulator
- 27. NSKeyedArchiver funktioniert im iPhone Simulator, fehlschlägt auf Gerät
- 28. iOS 10 Fehler auf Gerät, aber nicht auf Simulator
- 29. Wie Debuggen in iOS Real Gerät auf Native Projekt reagieren?
- 30. iAd erscheint Simulator, aber nicht auf dem Gerät
Ich habe eine ähnliche. Meine App funktioniert sowohl auf dem Simulator als auch auf Geräten des iPhone 5S und höher. Nach dem Login schließt sich die App jedoch auf iPhone 5 und 4S. – milkersarac
Ich bin mit genau dem gleichen Problem konfrontiert, meine App funktioniert im iOS-Simulator einwandfrei, funktioniert aber nach dem ersten Laden nicht auf meinem Gerät. –
Ich stehe vor einem ähnlichen Problem. Konnte jemand das lösen? – Nikant