run proyecto generar abrir javascript ios xcode cordova

javascript - proyecto - XCode Build no actualiza JS y HTML



cordova run ios device (15)

@Ksliman He modificado un poco el código para que funcione en mi sistema y lo haga un poco más genérico.

parte superior del archivo copy-www-build-step.sh

## New Code Begin ### cd ../../ PATH=${PATH}:/usr/local/bin cordova prepare ios ## New Code End ### SRC_DIR="www/"

Estoy usando XCode 5.0.2 y Cordova 3.4.0-0.1.3 - Lo que encuentro es después de crear el proyecto usando la CLI de Cordova y abrir en XCode , no se realizan cambios en el archivo index.html y el archivo index.js Pasa al simulador cuando hago clic en ejecutar. Tengo que abrir el terminal y emitir un comando Cordova Build y luego ejecutar el simulador y funciona

He seguido todas las instrucciones aquí:

Phonegap - desarrollo y lanzamiento de la aplicación en el simulador

xcode 4 + phonegap ... ¿no actualiza JS en la compilación?

¡Y nada de eso funciona! Cualquiera puede tener una solución para esto, porque tener que cambiar de lugar se está convirtiendo en un dolor.


Cada vez que uso cordova build compilo el contenido de las anulaciones en el archivo www específico de mi plataforma. Así que en vez de eso uso cordova compile .

De la ayuda:

compilar <platforms> compila el proyecto de la plataforma sin prepararlo

Es importante simplemente compilar los cambios para no construir proyectos completos, especialmente si creas una aplicación móvil para muchas plataformas y tienes que hacer algunas mejoras específicas de la plataforma.


Descubrí que a veces Cordova se confunde ... necesitas hacer una "plataforma rios rios de cordova" (solo deja tus complementos), y luego hacer una "plataforma cordova para agregar iOS", que reinstalará todos tus complementos en tu plataforma. .. luego intente su construcción de nuevo.


Ejecute " cordova prepare ios " durante las fases de construcción:

  1. Abrir Xcode.
  2. Seleccione su proyecto.
  3. Ir a "Construir fases".
  4. Vaya a "+" para agregar una "Nueva fase de secuencia de comandos de ejecución".
  5. Mueva esta sección antes de "Copiar el directorio www".
  6. Añade las siguientes líneas (para Mac):
    • cd /Users/*/YOUR_PROJECT_FOLDER (Cambia la carpeta de tu proyecto)
    • /Users/*/.nvm/versions/node/v?.?.?/bin/node node_modules/cordova/bin/cordova prepare ios (Cambie la ruta a la versión del nodo)

Después de "Play", la carpeta www se actualizará automáticamente!


Entonces, después de mucha búsqueda, parece que encontré una solución que funciona, esto es lo que hice. Después de ver otras preguntas de , encontré a alguien que dijo que esto funcionaba para ellos.

Busque el archivo llamado copy-www-build-step.sh.

La mía estaba en [project_folder] /platforms/ios/cordova/lib/copy-www-build-step.sh

En ese archivo, encuentre las líneas que comienzan con rsync -a "...

Agregue -c a las líneas rsync, para que estén listas rsync -a -c "...

Bueno, lo intenté y no funcionó por sí solo. También intenté la respuesta de Ville y eso se acercó pero no había cigarro. Finalmente tomé el comando de Ville y lo puse en el archivo copy-www-build-step.sh

así que mi línea superior es ahora

cd /path/to/your/cordova/project/ cordova prepare SRC_DIR="www/" DST_DIR="$BUILT_PRODUCTS_DIR/$FULL_PRODUCT_NAME/www" COPY_HIDDEN= ORIG_IFS=$IFS IFS=$(echo -en "/n/b") ..... ..... .....etc etc

Y ahora hago cambios, y hago clic en ejecutar, bam todo está actualizado. Espero que esto ayude a alguien más.


Otras respuestas en este hilo no funcionaron para mí o arruinaron los complementos de Cordova, por ejemplo, InAppBrowser, por lo que finalmente se me ocurrió esto:

Edite el archivo copy-www-build-step.sh y agregue la siguiente fila al principio:

cp -fR ../../www/ www/

por lo que debe verse como

... cp -fR ../../www/ www/ # new code SRC_DIR="www/" ...

De esta manera, su código se actualizará correctamente y sus complementos funcionarán.


Para hacer que los archivos de origen se copien automáticamente del directorio de origen www al directorio de plataformas / ios / www cuando haga clic en el botón Ejecutar en XCode:

En XCode, seleccione Producto-> Esquema-> Editar esquema ...
Expandir el triángulo para Construir-> Pre-acciones
Haga clic en el "+" para crear una nueva acción previa

Puede dejar la configuración de "Shell" en blanco.
Establezca "Proporcionar configuración de compilación desde" al proyecto que está construyendo. Esto es importante.

En el área de script ingrese:

cd ${PROJECT_DIR}/../.. echo "--- Start ---" > xcode-prepare-ios-results.txt echo "Running cordova prepare ios command..." pwd >> xcode-prepare-ios-results.txt cordova prepare ios --verbose >> xcode-prepare-ios-results.txt echo "--- Finished ---" >> xcode-prepare-ios-results.txt

Esto me funciona con XCode 8.2 y Apache Cordova 6.x


Para mí, hubo un error en mi código. Simplemente necesitaba ejecutar npm start a localizarlo.


Puede agregar un script de acción previa a la compilación de su proyecto XCode. Para hacer esto:

  1. Seleccione Producto> Esquema> Editar esquema en el menú (o ⌘ <en el teclado)
  2. Selecciona Construir> Pre-acciones desde la izquierda.
  3. Haga clic en + y seleccione "Nueva acción Ejecutar secuencia de comandos"
  4. Agrega un script como este:

    cd /path/to/your/cordova/project/ cordova prepare ios > xcode-prepare-results.txt

Ahora XCode siempre debe ejecutar Córdova y prepararse antes de construir su proyecto para que no tenga que saltar a la terminal. Puede ver la salida de prepare en el archivo xcode-prepare-results.txt.

Tenga en cuenta que, según la configuración de su ejecutable de cordova y el shell que use, es posible que tenga que cambiar el shell o modificar su PATH para que el script encuentre a cordova.


Si está cambiando directamente html desde Xcode, debe cambiar el código / html de la carpeta de preparación, no la carpeta principal

En la carpeta de pruebas obtendrá la misma estructura que tiene en la carpeta principal, pero se reflejará directamente en la compilación de xcode (iOS)

Carpeta de ensayo

Nota: Los cambios que realizó en xcode se reemplazarán cuando vuelva a compilar desde la compilación / ejecución cordova, así que copie los cambios en la carpeta principal antes de ejecutar los comandos de cordova

Puede obtener más información de esta respuesta: ¿Propósito de la carpeta de clasificación en PhoneGap 3.4? ¿Solo se reconocen los cambios realizados en index.html en esta carpeta?

Esta es la solución correcta tomada de:

Cordova + Xcode 7.3 (html + Javascript) no se modificó ni actualizó al compilar y emular


Soluciones simples es construir la aplicación con cordova usando:

sudo cordova build ios

Luego vaya a xcode> Producto> Limpiar

Luego vaya a xcode> Ejecutar (botón de reproducción)


También edité el archivo copy-www-build-step.sh , sin embargo, no desea utilizar una ruta absoluta desde su carpeta de Usuario. Si está trabajando con otros desarrolladores, tendría que cambiar eso cada vez que compruebe el código.

No es un gran problema, solo cambia:

SRC_DIR="www/"

A:

SRC_DIR="../../www/"

ACTUALIZACIÓN Trabajó para mí en Cordova y Phonegap.


Te sugiero que limpies antes de construir tu proyecto xcode. Y una cosa más, asegúrate de volver a construir tu proyecto usando cordova build, no dentro de xcode porque es totalmente diferente.

cordova build yourproject


Todo lo que tenía que hacer era incluir la ruta src absoluta completa para mi proyecto. Por ejemplo:

  1. Desde el directorio de su proyecto, plataformas vim / ios / cordova / lib / copy-www-build-step.sh
  2. cambie SRC_DIR a la ruta absoluta de su www, SRC_DIR = "/ Users / michael / Documents / Development / SampleMobileApp / www /"
  3. Guarda, construye, y deberías estar listo para salir.

simplemente escriba:

cordova prepare

en su terminal y ejecute su proyecto de nuevo en Xcode