2016-05-21 5 views
3

Ich entwickle eine App für Android und iOS zur gleichen Zeit und ich habe meine zwei Telefone vor mir. Ich habe Hot-Loading auf beiden aktiviert, aber es scheint, dass nur das letzte Telefon, das ich berührte, heiß geladen wird und das andere inaktiv bleibt, bis ich es schüttele und "neu laden" auswähle.react-native: hot-loading auf zwei Geräten gleichzeitig in Entwicklung

Ist das beabsichtigte Verhalten?

Antwort

5

Ich stieß auch auf dieses Problem. Sie können es umgehen, indem Sie den Packer auf zwei separaten Ports ausführen. In meinem package.json ich habe:

"scripts": { 
    "start": "node node_modules/react-native/local-cli/cli.js start ", 
    "port-8082": "node node_modules/react-native/local-cli/cli.js start --port 8082", 
}, 

Und in meinem iOS-Startcode in AppDelegate ich den Port 8082 geändert z.B.

jsCodeLocation = [NSURL URLWithString:@"http://localhost:8082/index.ios.bundle?platform=ios&dev=true"]; 

Also dann laufe ich npm start in einer Terminal-Sitzung (die auf dem Standard-Port startet 8081) und npm run port-8082 in einer anderen Sitzung. Dann bedient 8081 das Android-Gerät und 8082 das iOS-Gerät, und Sie können Hot Reloading auf beiden Geräten gleichzeitig verwenden.

+0

Schöne Lösung! Vielen Dank. – AllTheTime

Verwandte Themen