update tutorial node descargar ios cordova npm

tutorial - Cordova ios error building Images.xcassets



npm install-g cordova (7)

He pasado mucho tiempo tratando de resolver esto en vano.

Sopanaba Córdoba y desde el capitán, mi mac ahora tiene problemas con NPM y Córdoba.

Lo tengo para instalar, pero ahora tengo que usar sudo para cordova.

Intenté lo siguiente:

sudo cordova platform remove ios sudo cordova platform add ios sudo cordova build ios

Y esto me da el siguiente resultado:

** BUILD FAILED ** The following build commands failed: CompileAssetCatalog build/emulator/<AppName>.app <AppName>/Images.xcassets (1 failure) ERROR building one of the platforms: Error code 65 for command: xcodebuild with args: -xcconfig,/Users/MacUserName/Desktop/<AppName>/<AppName>/platforms/ios/cordova/build-debug.xcconfig,-project,<AppName>.xcodeproj,ARCHS=i386,-target,<AppName>,-configuration,Debug,-sdk,iphonesimulator,build,VALID_ARCHS=i386,CONFIGURATION_BUILD_DIR=/Users/MacUserName/Desktop/<AppName>/<AppName>/platforms/ios/build/emulator,SHARED_PRECOMPS_DIR=/Users/MacUserName/Desktop/<AppName>/<AppName>/platforms/ios/build/sharedpch You may not have the required environment or OS to build this project Error: Error code 65 for command: xcodebuild with args: -xcconfig,/Users/MacUserName/Desktop/<AppName>/<AppName>/platforms/ios/cordova/build-debug.xcconfig,-project,<AppName>.xcodeproj,ARCHS=i386,-target,<AppName>,-configuration,Debug,-sdk,iphonesimulator,build,VALID_ARCHS=i386,CONFIGURATION_BUILD_DIR=/Users/MacUserName/Desktop/<AppName>/<AppName>/platforms/ios/build/emulator,SHARED_PRECOMPS_DIR=/Users/MacUserName/Desktop/<AppName>/<AppName>/platforms/ios/build/sharedpch

Versión de Cordova

sudo cordova -v 6.0.0

Actualización: ahora estoy ejecutando 6.1.1, sigue siendo el mismo problema

Versión de la plataforma Cordova iOS

sudo cordova platform ios -v 6.1.1

Versión para Mac: 10.11.3
Versión XCode: 7.2.1


  1. Cambiar el nombre de la plataforma / ios
  2. en tipo de terminal: cordova platform add ios
  3. cordova build ios .

trabajado en mi caso


Después de excavar en cordova_lib, creo que está claro (para mí) que no se supone que cordova cambie el tamaño del ícono, sino que solo cópialos si existen y tienen las dimensiones correctas.

Vea este código en cordova-lib / src / cordova / metadata / ios_parser.js:

// See https://developer.apple.com/library/ios/documentation/userexperience/conceptual/mobilehig/LaunchImages.html // for launch images sizes reference. var platformIcons = [ {dest: ''icon-60.png'', width: 60, height: 60}, {dest: ''[email protected]'', width: 120, height: 120}, {dest: ''[email protected]'', width: 180, height: 180}, {dest: ''icon-76.png'', width: 76, height: 76}, {dest: ''[email protected]'', width: 152, height: 152}, {dest: ''icon-small.png'', width: 29, height: 29}, {dest: ''[email protected]'', width: 58, height: 58}, {dest: ''icon-40.png'', width: 40, height: 40}, {dest: ''[email protected]'', width: 80, height: 80}, {dest: ''icon.png'', width: 57, height: 57}, {dest: ''[email protected]'', width: 114, height: 114}, {dest: ''icon-72.png'', width: 72, height: 72}, {dest: ''[email protected]'', width: 144, height: 144}, {dest: ''icon-50.png'', width: 50, height: 50}, {dest: ''[email protected]'', width: 100, height: 100} ]; var destIconsFolder, destSplashFolder; var xcassetsExists = folderExists(path.join(platformRoot, ''Images.xcassets/'')); if (xcassetsExists) { destIconsFolder = ''Images.xcassets/AppIcon.appiconset/''; } else { destIconsFolder = ''Resources/icons/''; } platformIcons.forEach(function (item) { var icon = icons.getBySize(item.width, item.height) || icons.getDefault(); if (icon){ var src = path.join(appRoot, icon.src), dest = path.join(platformRoot, destIconsFolder, item.dest); events.emit(''verbose'', ''Copying icon from '' + src + '' to '' + dest); shell.cp(''-f'', src, dest); } });

La mejor opción parece ser el uso de un complemento que hace el cambio de tamaño para usted con ganchos. Consulte Generar iconos de iOS y Android en Cordova / PhoneGap o https://github.com/disusered/cordova-icon-gm para obtener una nueva versión más a prueba de futuro del mismo complemento (los ganchos de los directorios están en desuso en 6.x).


Logré solucionar este problema por:

  • eliminando cualquier icono o referencias de pantalla de bienvenida en el archivo config.xml ;
  • ponga un splash.png y / o icon.png en la carpeta www/resources de su proyecto cordova; entonces,
  • ejecutar los ionic cordova resources --icon o ionic cordova resources --splash comando

esto creará todos los archivos correctos de splash / icon para usted y los agregará al archivo config.xml . Esa advertencia luego desaparece.

¡Espero que esto funcione!


Obtuve este error cuando estaba usando cordova-icon pero mi imagen de icon.png no era cuadrada.

Cambiar el icon.png a una imagen cuadrada y volver a hacer cordova-icon cordova build ios significa que cordova build ios ahora funciona para mí.


Para un archivo solo icon.png , la imagen debe ser de 1024x1024 para trabajar con un solo <icon src="icon.png"/> en config.xml .

Tengo que esto con cordova-cli 6.5.0 , cordova-ios 4.5.1 y xcodebuild 9.0 .


Pude resolver este problema eliminando las referencias de saltos que no son guiones gráficos en config.xml, la versión más reciente de cordova parece estar utilizando solo los guiones gráficos:

Tan eliminado:

<splash src="res/ios/splash/Default~iphone.png" width="320" height="480"/> <splash src="res/ios/splash/Default@2x~iphone.png" width="640" height="960"/> <splash src="res/ios/splash/Default-Portrait~ipad.png" width="768" height="1024"/> <splash src="res/ios/splash/Default-Portrait@2x~ipad.png" width="1536" height="2048"/> <splash src="res/ios/splash/Default-Landscape~ipad.png" width="1024" height="768"/> <splash src="res/ios/splash/Default-Landscape@2x~ipad.png" width="2048" height="1536"/> <splash src="res/ios/splash/Default-568h@2x~iphone.png" width="640" height="1136"/> <splash src="res/ios/splash/Default-667h.png" width="750" height="1334"/> <splash src="res/ios/splash/Default-736h.png" width="1242" height="2208"/> <splash src="res/ios/splash/Default-Landscape-736h.png" width="2208" height="1242"/>

Y solo guardo estos:

<splash src="res/ios/splash/Default@2x~iphone~anyany.png" /> <splash src="res/ios/splash/Default@2x~iphone~comany.png" /> <splash src="res/ios/splash/Default@2x~iphone~comcom.png" /> <splash src="res/ios/splash/Default@3x~iphone~anyany.png" /> <splash src="res/ios/splash/Default@3x~iphone~anycom.png" /> <splash src="res/ios/splash/Default@3x~iphone~comany.png" /> <splash src="res/ios/splash/Default@2x~ipad~anyany.png" /> <splash src="res/ios/splash/Default@2x~ipad~comany.png" />


Yo recomendaría usar los paquetes cordova-icon y cordova-splash npm. Esto se debe a que puedes poner dos imágenes en tu raíz, luego los comandos te resolverán el resto. Están escritos por cordova, y puedes instalarlos usando:

npm install -g cordova-icon npm install -g cordova-splash

Luego, simplemente coloque una versión de 1024x1024 de su logotipo como "icon.png" en la raíz del proyecto. Y:

"La imagen de la pantalla de bienvenida debe ser de 2208x2208 px con un cuadrado central de aproximadamente 1200x1200 px. La imagen puede recortarse alrededor del cuadrado central".

https://www.npmjs.com/package/cordova-splash

Simplemente coloque una imagen que coincida con esa descripción en la raíz del proyecto como "splash.png"

Elimine cualquier línea en config.xml que especifique las imágenes para usar en ios, cordova-icon / splash las colocará automáticamente en el lugar correcto con los nombres correctos para que xcode las reconozca.

Una vez que tienes esa configuración, simplemente ejecuta estos comandos:

cordova platform remove ios cordova platform add ios cordova-icon cordova-splash

Luego ejecuta tu comando de compilación. Para mí es:

cordova build ios --build-config

Pero es posible que no tenga una configuración de compilación o necesite parámetros adicionales. Si la compilación falla (asegúrese de ejecutar el comando incluso si cree que fallará, esto configurará las cosas) simplemente abra el espacio de trabajo generado en plataformas / ios en xcode, limpie el proyecto y compile. Eso debería funcionar.