sure - react native ios folder
¿Cómo puedo regenerar la carpeta ios en el proyecto React Native? (6)
Así que hace un tiempo eliminé el directorio / ios en mi aplicación nativa de reacción (llamémoslo X). He estado desarrollando y probando usando el emulador de Android, pero ahora me gustaría asegurarme de que funcione en ios con simulador de xcode, etc.
Entonces, mi idea actual es crear un nuevo proyecto desnudo nativo de reacción (llamémoslo Y) con la carpeta ios, luego siga
estos pasos
para cambiar el nombre de Y para que tenga el nombre de X y luego mueva el directorio / ios de Y a X y tratando de
run-ios
.
Actualizaré aquí cómo va eso, pero me preguntaba si hay una mejor manera y ¿nadie ha estado en esta situación antes?
He buscado en Google muchas cosas ''regenerar carpeta ios'' ''carpeta eliminada ios'' ''agregar carpeta ios a la existente ...'' y nada útil. Tal vez mi googlefu no es lo suficientemente bueno, pero si alguien tiene alguna sugerencia, lo agradecería mucho.
El paso 2 se asegurará de que se compila debido a las dependencias y otras cosas, pero por ahora mi objetivo es recuperar la carpeta / ios en el proyecto y que React Native sepa de su existencia (tiene toda la configuración necesaria).
Gracias
Como @Alok mencionó en los comentarios, puede hacer
react-native eject
para generar las carpetas de
ios
y
android
.
Pero
app.json
necesitará un
app.json
en su proyecto.
{"name": "example", "displayName": "Example"}
Dado que la expulsión nativa de reacción se deprecia en 60.3 y recibía errores de diferencias al intentar actualizar el formulario 60.1 a 60.3, la regeneración de la carpeta de Android no funcionaba.
Tuve que
rm -R node_modules
Luego actualice react-native en package.json a 59.1 (elimine package-lock.json)
correr
npm install
react-native eject
Esto regenerará sus carpetas de Android y iOS Finalmente, actualice de nuevo a 60.3
react-native upgrade
la actualización de react-native mientras estaba de vuelta y 59.1 no volvió a generar mi carpeta de Android, por lo que la expulsión fue necesaria.
El proceso que debe seguir es muy similar al cambio de nombre de una aplicación nativa de reacción.
Básicamente solo necesita ejecutar la
react-native upgrade
en el directorio raíz del proyecto.
Para más información puede consultar otra pregunta
here
.
Las instrucciones a continuación explican cómo crear otro proyecto nativo de reacción basado en uno copiado con un nuevo nombre.
- Primero copie el directorio en el que existe su aplicación de cambio de nombre. E ir a su directorio recién clonado.
-
Cambie el nombre en el archivo
index.ios/android.js
que se proporciona como parámetro para AppRegistry. -
Cambie el nombre y la versión en consecuencia en
package.json
-
Elimine las carpetas
/ios
y/android
que quedan de su aplicación anterior. -
Ejecute la
$react-native upgrade
para generar nuevamente las carpetas/ios
y/android
. -
Ejecute el
$react-native link
para cualquier dependencia nativa. -
Finalmente ejecute
$react-native run-ios
o lo que quiera.
Esto es demasiado tarde, pero para cualquiera que todavía tenga el mismo problema y tenga una aplicación nativa de reacción separada, lo que hice por mí simplemente ejecuté exp detach sobre mi aplicación separada y ¡creó la carpeta ios!
Simplemente elimine / elimine Android e iOS (mantenga la carpeta de respaldo de Android y iOS) y ejecute el siguiente comando:
react-native eject
Supported version :
react-native <= 0.59.10
react-native-cli <= 1.3.0
react-native upgrade --legacy true
Supported version :
react-native >= 0.59.10
react-native-cli >= 1.3.0
Ref: link
Tenga en cuenta que a partir de react-native 0.60.x puede usar lo siguiente para regenerar directorios ios / android:
react-native upgrade --legacy true
Crédito aquí: https://github.com/facebook/react-native/issues/25526