Saltar al contenido

Cómo realizar la validación de la aplicación iOS desde la línea de comandos

Solución:

Puede validar desde la línea de comando usando el comando:

xcrun -sdk iphoneos Validation /path/to/App.{app or ipa}

No está claro qué comprobaciones realiza, pero presumiblemente lo hace al menos con la firma de código y las dimensiones de los iconos.

Además de la validación local, es posible realizar una validación en línea (pero solo para paquetes IPA):

xcrun -sdk iphoneos Validation -verbose -online /path/to/App.ipa

Para que esto funcione, necesita tener su iTunes Connect credenciales almacenadas en una entrada especial en su llavero. Para crear esta entrada:

  1. Abre el Acceso al llavero solicitud;
  2. Cree un nuevo elemento de contraseña (Expediente > Nuevo elemento de contraseña …)
  3. Nombre del artículo del llavero: Xcode:itunesconnect.apple.com
  4. Nombre de cuenta / contraseña: sus credenciales para iTunes Connect

La validación en línea parece ser bastante tosca, pero todas las verificaciones que de otro modo se realizarían validando un archivo con la ventana del Organizador en Xcode. Lamentablemente, no parece establecer un código de salida distinto de cero en caso de falla, lo que significa raspado de salida para detectar errores. Mi heurística actual para detectar fallas es la presencia de cualquier salida después de la Performing online validation... línea.

Dada la falta de documentación, es casi seguro que no es compatible.

En el pasado he usado este comando:

xcrun -sdk iphoneos Validation /path/to/MyApp.app or /path/to/MyApp.ipa

Esto comprobará la firma del código, las dimensiones del icono, etc. No estoy seguro de si la aplicación Xcode Organizer o Application Loader realiza alguna otra validación además de esta herramienta, y la herramienta en sí no tiene indicadores de ayuda o de línea de comandos que pueda encontrar.

ACTUALIZAR:

Esta pregunta me ha llevado a profundizar un poco más. Ejecutando el strings herramienta revela los siguientes interruptores:

-verbose
-upload
-warnings
-errors
-online

los -online La opción aparentemente validará el binario para la primera aplicación disponible en iTunes Connect, pero no he descubierto cómo pasar un nombre de usuario / contraseña al comando. Sin embargo, supongo que para la integración continua probablemente solo desee la validación local.

Si solo desea validar el archivo ipa firmado, existe una herramienta para hacerlo altool

$ /Applications/Xcode.app/Contents/Applications/Application Loader.app/Contents/Frameworks/ITunesSoftwareService.framework/Support/altool -h
Copyright (c) 2009-2015, Apple Inc.  Version 1.1

Usage: altool --validate-app -f file -t platform -u username [-p password]
       altool --upload-app -f file -t platform -u username -p password

 -f, --file                         Filename.
 -t, --type                         Type/Platform: osx, ios.
 -u, --username                     Username. Required to connect for validation and upload.
 -p, --password                     Password. Required if username specified.  Password is read from stdin if one is not supplied.
                                    May use @keychain: or @env: prefixes followed by the keychain or environment variable lookup name.
                                    e.g. -p @env:SECRET which would use the value in the SECRET environment variable.

 -v, --validate-app                 Validate an app archive. The username, password, and file path to app archive are required.
     --upload-app                   Uploads the given app archive.  The username, password, and file path to app archive are required.
     --output-format [xml | normal] 'xml' displays error output in a structured format; 'normal' outputs in an unstructured format (default)

 -h, --help                         Display this output.

Por ej.

 /Applications/Xcode.app/Contents/Applications/Application Loader.app/Contents/Frameworks/ITunesSoftwareService.framework/Support/altool -v -f APP.ipa -u [email protected] -p password
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

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