¿Cómo puedo regenerar la carpeta ios en el proyecto React Native?


Así que hace un tiempo eliminé el directorio /ios en mi aplicación react native (llamémoslo X). He estado desarrollando y probando con el emulador de Android, pero ahora me gustaría asegurarme de que funciona en ios con xcode simulator, etc.

Así que mi idea actual es crear un nuevo proyecto desnudo de react native (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 e intente run-ios.

Voy a 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 ios eliminada' 'agregar carpeta ios a la existente.. y nada útil. Tal vez mi googlefu no es lo suficientemente bueno, pero si alguien tiene alguna sugerencia, muy apreciado.

El paso 2 se asegurará de que se compile debido a las dependencias y esas cosas, pero por ahora mi objetivo es recuperar la carpeta / ios el proyecto y para que React Native sea consciente de su existencia (tiene toda la configuración necesaria).

Gracias

Author: Omkar Guhilot, 2017-02-28

4 answers

El proceso que debe seguir es muy similar al cambio de nombre de una aplicación react native. Básicamente solo necesita ejecutar react-native upgrade en el directorio raíz del proyecto. Para más información puede consultar otra pregunta aquí. Las siguientes instrucciones explican cómo crear otro proyecto react native basado en uno copiado con un nuevo nombre.

  • Primero copie el directorio en el que existe la aplicación que va a cambiar de nombre. Y vaya a su directorio recién clonado.
  • Cambiar el nombre en index.ios/android.js archivo que se da como parámetro a AppRegistry.
  • Cambie el nombre y la versión en consecuencia en package.json
  • Elimina las carpetas /ios y /android que quedan de tu aplicación anterior.
  • Ejecute $react-native upgrade para generar de nuevo las carpetas /ios y /android.
  • Ejecute $react-native link para cualquier dependencia nativa.
  • Finalmente ejecuta $react-native run-ios o lo que quieras.
 75
Author: milkersarac,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 12:18:24

Esto es demasiado tarde, pero para cualquiera que todavía tenga el mismo problema y tenga una aplicación nativa react separada, lo que hice por mí solo corro exp detach sobre mi aplicación separada y creó la carpeta ios!

 2
Author: Mizlul,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-04-26 08:56:08

Como @Alok mencionó en los comentarios, puede hacer react-native eject para generar las carpetas ios y android. Pero primero necesitarás un app.json en tu proyecto.

{"name": "example", "displayName": "Example"}
 0
Author: aleclarson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-09-14 22:11:28

Simplemente elimine / elimine la carpeta de Android e ios (mantenga la copia de seguridad) y ejecute el siguiente comando:

react-native eject
 0
Author: Khurshid Ansari,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-09-20 17:14:44