Ionic 3: [ERROR] An error occurred while running subprocess cordova

Ionic 3 cordova error build run


Trabajando en un nuevo proyecto realizado con Ionic versión 3 «Gestor de atletas«, me he encontrado con un problema complejo. Digo complejo ya que he estado buscando información en muchos sitios y en cada uno de ellos se indicaba una solución diferente. Es por ello, que he decidido crear esta entrada y agrupar todas las soluciones que han ido ayudando a otros desarrolladores. Seguro que este artículo a más de uno le viene genial.

Información.

Ionic:

ionic (Ionic CLI)  : 4.5.0 (/usr/local/lib/node_modules/ionic)
Ionic Framework    : ionic-angular 3.9.2
@ionic/app-scripts : 3.2.1

Cordova:

cordova (Cordova CLI) : 8.1.2 (cordova-lib@8.1.1)
Cordova Platforms     : android 7.1.4, ios 4.5.5
Cordova Plugins       : cordova-plugin-ionic-keyboard 2.1.3, cordova-plugin-ionic-webview 2.3.1, (and 12 other plugins)

System:

NodeJS : v11.2.0 (/usr/local/bin/node)
npm    : 6.4.1
OS     : macOS High Sierra

Si nos encontramos con el mensaje en consola: [ERROR] An error occurred while running subprocess cordova, es recomendable realizar las siguientes comprobaciones respetando su orden:

Actualizar la plataforma iOS o Android.

ionic platform update ios
ionic platform update android

Simular con run o build la aplicación.

ionic cordova build ios --release
ionic cordova run ios --release
ionic cordova build android --release
ionic cordova build android --release

Si llegados a este punto nos seguimos encontrando con el mensaje en consola [ERROR] An error occurred while running subprocess cordova por favor, sigue leyendo.

Eliminando y creando de nuevo los directorios de plataforma.

ionic cordova rm android
ionic cordova add android --nofetch
ionic cordova rm ios
ionic cordova add ios --nofetch

Reinstalando Cordova.

npmuninstall -g cordova
npm install -g cordova

En mi caso y volviendo al principio, el error parecía estar claro. Necesitaba xCode para poder simular la aplicación.

Instalando xCode.

Poco que decir aquí, vamos a la app store, buscamos y descargamos xCode para desarrolladores. El icono tiene este aspecto.

Comprobando xcode en el sistema operativo.

Si volvemos a nuestra ventana de comandos y ejecutamos de nuevo «ionic info», vemos que en esta ocasión xCode ya forma parte de nuestro sistema operativo.

Una vez comprobado esto, volvemos a lanzar el siguiente comando…

ionic cordova run ios

En mi caso, ahora no me lanza ningún error, pero veo algo que no me convence, se trata de esta línea:

/Users/mac/WWW/Desarrollos/Ionic v3/gestor-de-atletas/platforms/ios/build/emulator/MyApp.app/Info.plist file not found.

Analizando proyectos Ionic v3 con –verbose

Si queremos que por consola se nos detalle al máximo cual es el problema que tenemos, debemos añadir en la línea a ejecutar –verbose. Quedando algo como esto:

ionic cordova run ios --verbose

Resumiendo mucho, este ha sido el resultado…

Ejecutemos entonces esas 3 líneas, todo sigue igual. Leyendo en por stackoverflow, algunos desarrolladores tuvieron que actualizar su versión de cordova a versiones anteriores para solucionar el problema, pero realmente, no creo que esto sea la mejor de las prácticas. Sigamos…

Error: Cannot find module ios/cordova/Api.js’.

Nos encontramos en un momento que parece estar cerca de la solución a la incidencia. Ahora cuando lanzamos la aplicación, en consola se pinta Error: Cannot find module ios/cordova/Api.js’ 

Al parecer, esto está relacionado con la herramienta cocoapods, ya que es necesaria para que todo funcione correctamente.

Instalando cocoapods phonegap-plugin-push.

Para instalar cocoapods, primero necesitamos desinstalar el plugin the push, vamos a ello…

ionic cordova plugin remove phonegap-plugin-push

Ahora procedemos con la instalación de cocoapods.

sudo gem install cocoapods

El siguiente paso es realizar la sincronización.

pod setup

Y finalmente, volvemos a instalar el plugin de pushh.

ionic plugin add phonegap-plugin-push --variable SENDER_ID="XXXXXXX"

Ahora, podemos lanzar la aplicación con una de estas 2 líneas.

Solución :: ionic cordova emulate ios -l — –buildFlag=»-UseModernBuildSystem=0″

Solución ::

ionic cordova run ios –target=»iPhone-8″ — –buildFlag=»-UseModernBuildSystem=0″

Publicaciones relacionadas

Summary

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Responsable de los datos: Luis María Jordán Muñoz | Finalidad: Responder a la solicitud que me envíes y ofrecerte información | Legitimación: Tu consentimiento de forma expresa | Destinatario: Webempresa mi proveedor de hosting | Derechos: Tienes derecho al acceso, rectificación, supresión, limitación, portabilidad y olvido, para más información, te dejo enlace a mi política de privacidad ... enlace