2016-08-04 18 views
7

Próbuję włączyć tryb Odśwież Live, ale nie ma takiej pozycji w Dev Menu: no item called 'Live Reload'Jak włączyć Live Reload na urządzeniu z systemem iOS React Native?

+0

To dziwne. Jaka wersja xcode i reaguje natywnie na twój bieg? – abeikverdi

+0

Powiązane: http://stackoverflow.com/questions/38676746/after-upgrade-livereload-missing-on-real-device-cannot-debug-js-remotely-from-r –

+0

react-native-cli: 1.0.0 Reakcja natywna: 0.30.0 Xcode 7.3.1 (7D1014) Watchman 4.6.0 – protspace

Odpowiedz

-1

Jeśli używasz aplikacji na rzeczywistym urządzeniu natywnej. Następnie potrząśnij urządzeniem, a pojawi się menu me.

+0

jak widać powyżej zrobiłem zrzut ekranu tego menu i nie ma w nim takiego elementu @Shivam Sinha – protspace

+0

To nie jest to, o co pyta op. –

10

Masz ten problem głównie dlatego, że Twoje urządzenie i twoja maszyna programująca nie znajduje się w tej samej sieci LAN. sprawdź, czy jest. Upewnij się, że komputer i twoje urządzenie są podłączone do bezpiecznej sieci LAN, wszystko będzie w porządku.

Po podłączeniu wszystkich urządzeń podłączonych do tej samej sieci LAN. A jeśli używasz Xcode.

  1. Zamknij React Native Packager (lub po prostu zamknąć okno terminala)
  2. Usuń aplikację na swoim urządzeniu z iOS
  3. projektu Clean Xcode.
  4. polecenie Run npm start -- reset-cache

Wtedy wszystko będzie OK.

+0

Ten dostał mnie. Miałem wiele WIFI, a mój iPhone i MBP podskakiwały podczas pracy, a ja nawet nie zdawałem sobie z tego sprawy. – dwilt

+0

@dwilt czasami po prostu połączyć się z tą samą siecią LAN nie może rozwiązać tego problemu. Więc zaktualizowałem swoją odpowiedź. –

+0

po prostu przełączenie na to samo Wi-Fi działało dla mnie ...... Dzięki @Bruce Lee –

3

Musisz edytować źródło dla jsCodeLocation z AppDelegate.

Głównym problemem, że

jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index.ios" fallbackResource:nil];

szuka localhost domyślnie w symulatorze to będzie działać jako symulator i komputer są na tej samej maszynie, ale dla urządzenia localhost będą różne, tak aby to działa, trzeba zmienić tę linię do

jsCodeLocation = [NSURL URLWithString:@"http://192.168.1.16:8081/index.ios.bundle?platform=ios&dev=true&minify=false&hot=true"];

tutaj 192.168.1.16 zmienić go na swojej Loca PC l adres IP

+0

Projekty tworzone z wersją v0.49 lub nowszą powinny używać 'jsCodeLocation = [NSURL URLWithString: @" http://192.168.1.16: 8081/index.bundle? Platforma = ios & dev = true & minify = false & hot = true "];', ponieważ [nowe projekty mają pojedynczy punkt wejścia] (https://github.com/facebook/react-native/releases/tag/ v0.49.0). – mthmulders