android - tutorial - No se puede compilar un proyecto para iOS desde Córdoba Cli
install cordova windows (6)
EDITAR: Pruebe esta otra solución primero! Funciona para la mayoría de los problemas: https://stackoverflow.com/a/28300528/1250444
Luché con esto también. Finalmente encontré una solución por ensayo y error. RE:
Lo que me sucedió fue cambiar el nombre del proyecto para tener mayúsculas. Esto causó todo tipo de confusión para Córdoba.
Lo primero que hice fue cambiar el nombre de los archivos plist y pch problemáticos para que coincidan con el uso de mayúsculas correcto. Entonces, en su caso, si era myPKS, pero ahora es MyPKS, deberá cambiar el nombre de los archivos para que sean MyPKS-Info.plist y MyPKS-Prefix.pch.
Luego tuve que cambiar el nombre de .xcodproj para que coincida con el uso de mayúsculas.
Después de eso, ocurrió otro problema: xcodebuild: error: el proyecto ''NewName.xcodeproj'' no contiene un objetivo llamado ''NewName''.
Para resolver esto, tuve que cambiar el nombre del objetivo para tener la capitalización adecuada también. Ya que soy nuevo en el desarrollo de iOS, no tengo idea de cómo describir cómo llegar allí. ¡Finalmente me topé con eso, hice el cambio y funcionó!
¡La mejor de las suertes!
He creado un proyecto usando Cordova CLI, versión 3.5.0.
He implementado exitosamente el proyecto para la plataforma Android utilizando la CLI.
cordova run android
Sin embargo, estoy teniendo problemas para implementar el proyecto para iOS.
cordova run ios
Me encontré con este error:
mv: dest file already exists: /Users/amirfazwan/Documents/workspace/MyPKS/platforms/ios/MYPKS/MyPKS-Info.plist mv: dest file already exists: /Users/amirfazwan/Documents/workspace/MyPKS/platforms/ios/MYPKS/MyPKS-Prefix.pch shell.js: internal error Error: EINVAL, invalid argument ''/Users/amirfazwan/Documents/workspace/MyPKS/platforms/ios/MYPKS.xcodeproj'' at Object.fs.renameSync (fs.js:543:18) at /usr/local/lib/node_modules/cordova/node_modules/cordova-lib/node_modules/shelljs/shell.js:495:8 at Array.forEach (native) at Object._mv (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/node_modules/shelljs/shell.js:471:11) at Object.mv (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/node_modules/shelljs/shell.js:1491:23) at pbxProject. (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/cordova/metadata/ios_parser.js:126:27) at pbxProject.EventEmitter.emit (events.js:98:17) at pbxProject. (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/node_modules/xcode/lib/pbxProject.js:30:18) at ChildProcess.EventEmitter.emit (events.js:98:17) at handleMessage (child_process.js:322:10)
Este problema solo ocurre después de que accedo al proyecto Xcode manualmente para agregar la pantalla de Íconos y salpicaduras ya que las pantallas de íconos y salpicaduras no se agregan automáticamente al proyecto a pesar de que están declaradas en config.xml
He intentado eliminar el archivo Info.plist & Prefix.pch, pero luego apareció este error.
Error: ENOENT, no such file or directory ''/Users/amirfazwan/Documents/workspace/MyPKS/platforms/ios/MYPKS/MYPKS-Info.plist'' at Object.fs.openSync (fs.js:427:18) at Object.fs.readFileSync (fs.js:284:15) at Object.exports.parseFileSync (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/node_modules/plist-with-patches/lib/plist.js:18:19) at Object.module.exports.update_from_config (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/cordova/metadata/ios_parser.js:66:31) at Object.module.exports.update_project (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/cordova/metadata/ios_parser.js:189:21) at /usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/cordova/prepare.js:113:31 at _fulfilled (/usr/local/lib/node_modules/cordova/node_modules/q/q.js:798:54) at self.promiseDispatch.done (/usr/local/lib/node_modules/cordova/node_modules/q/q.js:827:30) at Promise.promise.promiseDispatch (/usr/local/lib/node_modules/cordova/node_modules/q/q.js:760:13)
El proyecto funciona bien si se inicia desde Xcode, pero ya no puedo compilar el proyecto desde CLI o lanzar el comando "servir" desde CLI para propósitos de depuración.
Por favor guíame, gracias.
Resuelto
Resuelto cambiando el nombre del proyecto usando Xcode. Gracias Jason por los consejos.
La respuesta de Jason Cox me ayudó, pero no cambié el nombre de ningún archivo, solo tuve que cambiar el nombre de la aplicación en mi config.xml
<name>myApp</name>
a
<name>MyApp</name>
Lo que resolvió mi problema fue haciendo lo siguiente
- Extracción de la plataforma ios; plataforma iónica eliminar ios
- La eliminación de la plataforma Android; plataforma iónica eliminar android
- Añadiendo la plataforma Ios de vuelta; plataforma iónica añadir ios
- Añadiendo la plataforma android de nuevo; plataforma iónica añadir android
- Reconstruir; acumulación iónica
Espero que esto ayude a alguien más.
Solo remueve las plataformas y luego vuelve a agregarlas.
cordova platform rm ios
cordova platform rm android
cordova platform add ios
cordova platform add android
Tengo este mismo error. La razón por la que esto me sucedió fue porque cambié el nombre en el xml de myapp a MyApp. Funcionó de nuevo una vez que lo cambié de nuevo al nombre antiguo. El cambio de nombre en xcode también funcionó, así que gracias por eso.