Ich habe etwas Code geschrieben, und die Dinge laufen gut auf Simulator. Und ich überprüfte das offizielle Dokument, wie man auf dem Gerät läuft. Dies ist, was ich getan habe:Wie reagiere native App mit Offline-Bundle im realen Gerät?
1, kommentieren Sie diese Zeile in AppDelegate.m
jsCodeLocation = [NSURL URLWithString:@"http://localhost:8081/index.ios.bundle?platform=ios&dev=true"];
2 Kommentar-:
jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];
Und sie sagen
‚Die statische Das Paket wird automatisch vom Build-Schritt "Bundle React Native Code and Images" generiert, wenn das Projekt auf einem tatsächlichen Gerät ausgeführt wird.
Ich klickte auf "run", und roter Bildschirm erschien: "Verbindung verweigert". Um sicherzustellen, dass der main.jsbundle IS im Projekt ist, erzeuge ich ihn manuell mit dem Befehl curl. Aber der Fehler immer noch da:
Websocket connection failed with error ErrorDomain=NSPOSIXErrorDomain Code=61 'connection refused'
Stunden in googeln, bekam aber keine Hilfe.
Wenn Sie das Schema ändern, wird es den gesamten Jscode kompilieren und im Hauptpaket verfügbar machen. So funktioniert es offline. In Debug wird es zu localhost: 8081 gehen, deshalb funktioniert es nicht. Selbst im Debug ist es möglich, dass Sie ur jscode kompilieren und zu Ihrem Projekt hinzufügen. –