¿Es posible ejecutar una aplicación nativa de reacción en un dispositivo iOS directamente desde la línea de comandos como lo hacemos en el simulador react-native run ios --simulator "iPhone 5s"
?
fuente
¿Es posible ejecutar una aplicación nativa de reacción en un dispositivo iOS directamente desde la línea de comandos como lo hacemos en el simulador react-native run ios --simulator "iPhone 5s"
?
Lo siguiente funcionó para mí (probado en react native 0.38
y 0.40
):
npm install -g ios-deploy
# Run on a connected device, e.g. Max's iPhone:
react-native run-ios --device "Max's iPhone"
Si intenta ejecutar run-ios
, verá que el script recomienda hacerlo npm install -g ios-deploy
cuando llegue al paso de instalación después de la construcción.
Si bien la documentación sobre los diversos comandos que ofrece react-native es un poco incompleta, vale la pena ir a react-native / local-cli . Allí, puede ver todos los comandos disponibles y el código que ejecutan; por lo tanto, puede averiguar qué conmutadores están disponibles para los comandos no documentados.
npm install -g ios-deploy
react-native run-ios --device "______\'s iPhone"
Found Xcode project ________.xcodeproj
Could not find device with the name: "_______'s iPhone".
Choose one of the following:
______’s iPhone Udid: _________
react-native run-ios --device --udid 0412e2c230a14e23451699
react-native run-ios --device --udid 0412e2c230a14e23451699 -- configuration Release
sudo npm install -g ios-deploy --unsafe-perm=true
funcionó.
ios-deploy -c
funciona, no es una herramienta de línea de comandos? se supone que debe ser yarn/npm ios-deploy -c
o algo así, porque eso tampoco funcionó
Ejecute este comando en el directorio raíz del proyecto.
1>. Lista de dispositivos iPhone para los dispositivos reales y el simulador encontrados. Igual que el comando adb devices para Android.
xcrun instruments -s devices
2>. Seleccione el dispositivo con este comando que desea ejecutar su aplicación
Usando el nombre del dispositivo
react-native run-ios --device "Kool's iPhone"
Usando UDID
react-native run-ios --device --udid 0412e2c2******51699
espere y observe para ejecutar su aplicación en dispositivos específicos - K00L;)
device
y udid
son mutuamente excluyentes"
Si recibe este error ios-deploy@x.x.x preinstall: ./src/scripts/check_reqs.js && xcodebuild ...
usandonpm install -g ios-deploy
Prueba esto. Esto funciona para mi:
sudo npm uninstall -g ios-deploy
brew install ios-deploy
Solo quería agregar algo a la respuesta de Kamil.
Después de seguir los pasos, sigo recibiendo un error,
error No se pudo encontrar el dispositivo con el nombre: ".... 's Xr"
Después de eliminar caracteres especiales del nombre del dispositivo (vaya a Configuración -> General -> Acerca de -> Nombre )
Por ejemplo: '
Funcionó !
Espero que esto ayude a alguien que se enfrentó a un problema similar.
Probado con - react-native-cli: 2.0.1 | react-native: 0,59,8 | VSCode 1.32 | Xcode 10.2.1 | iOS 12.3
Tengo el mío trabajando con
react-native run-ios --device="My’s iPhone"
Y observe que el nombre de su iphone, el apóstrofe s 'puede ser diferente. El mío está usando esto '
En realidad, para la primera compilación, hágalo con Xcode y luego haga lo siguiente:
brew install ios-deploy
npx react-native run-ios --device
El segundo comando ejecutará la aplicación en el primer dispositivo conectado.
ios deploy does not support the following options: id
, tal vez como yo, tu iPhone está ejecutando la versión beta de iOS y tendrás que usar una versión beta de Xcode. Pruebasudo xcode-select -s /Applications/Xcode-beta.app
(asumiendo que tienes instalada la aplicación beta de Xcode correcta).react-native run-ios --device
funcionó y el comando anterior no lo hizonpm install -g ios-deploy
, intente ejecutarsudo npm install -g ios-deploy --unsafe-perm=true --allow-root
react-native run-ios --udid XXXX --configuration Release
** INSTALLATION SUCCEEDED **
pero no pasa nada en el dispositivo ... está 100% conectado correctamente y reconocido por Xcode. Probé tanto la respuesta principal como los comentarios:react-native run-ios --device
con el mismo resultado