ios - subir - Cómo generar un archivo.ipa desde la línea de comandos con la aplicación watchkit
subir app a app store 2018 (2)
Tengo una instancia de jenkins que hace una compilación de lanzamiento usando xcodebuild. Luego tengo un script (en Jenkins) para crear el archivo .ipa usando xcrun. Esto funcionó bien para nosotros hasta ahora. Ahora tenemos una aplicación de watchkit y el archivo .ipa que se crea a partir de este proceso no es el mismo que se crea si se realiza una compilación de archivos y se exporta desde Xcode.
El archivo .ipa exportado desde Xcode tiene una carpeta ''Carga útil'', una carpeta ''Símbolos'' (probablemente opcional) y una carpeta ''WatchKitSupport''. La ipa generada desde xcrun no tiene los ''Símbolos'' o la carpeta ''WatchKitSupport''. Vea más sobre la estructura aquí: https://stackoverflow.com/a/29400301/327386
Vi esta publicación en SO: https://stackoverflow.com/a/19856005/327386 que tiene comandos para archivar y exportar la compilación .ipa (similar al proceso Xcode) pero incluso eso no creó las nuevas carpetas en cuestión .
¿Alguien sabe si hay una manera de usar las herramientas de la línea de comandos para crear un archivo .ipa que sea equivalente al creado por Xcode? No encontré ninguna documentación oficial sobre esto.
Yo también enfrenté el mismo problema. La herramienta de línea de comandos exportArchive pierde las carpetas de soporte de Watchkit requeridas al exportar el archivo a ipa. Lo intenté usando el script de shell siguiente.
https://gist.github.com/phatblat/6eb8895e2202f796960e
Puede llamar al shellscript anterior de su compilación Jenkins como se muestra a continuación.
<exec executable="/bin/bash" failonerror="true">
<arg value="${root.dir}/buildscripts/package-ida.sh" />
<arg value="${build.dir}/APP_NAME.xcarchive" />
<arg value="${build.dir}/APP_NAME.ipa" />
</exec>
Ahora podrá ver la carpeta de soporte de WatchKit en su carga ipa y la validación de la aplicación de su tienda de aplicaciones también se realizará con éxito utilizando la compilación Jenkins generada.
Problema exacto
xcodebuild -exportArchive
no puede hacer una IPA válida con Watch Extension, es un error de Apple ( http://openradar.appspot.com/20898925 ).
Solución oficial (Xcode 7)
Apple resolvió este problema en Xcode 7 con el indicador xcodebuild -exportArchive
comando xcodebuild -exportArchive
. Puedes encontrar más detalles al respecto en este artículo .
Soluciones no oficiales (Xcode 6)
Hay soluciones para el problema. Si es urgente, puedes jugar con ellos, pero no pude encontrar una solución que funcionara para todos (basado en las discusiones del foro).