Automatizar la Carga de Aplicación para iOS

Una vez que hemos creado nuestra aplicación iOS el siguiente paso probablemente consista en su envío para el proceso de revisión y, la esperada, aprobación por parte del equipo de Apple; de modo que pase a estar disponible para su descarga desde la App Store. Como seguramente ya sepas, este es un proceso que puede realizarse con una app específica inlcuida po parte de Apple en su conjunto de herramientas de desarrollador, pero lo que quizá no sepas es que también puedes hacerlo desde el propio IDE de Xojo. Esto es lo que nos cuenta Greg O’lone a continuación, y cuyo texto original en inglés puedes encontrar aquí.

¿Sabías que Apple proporciona una interfaz de línea de comandos para su herramienta Application Loader? Con un guión de compilación del IDE (en concreto, uno que se ejecuta tras la compilación propiamente dicha), ¡puedes enviar tus apps iOS automáticamente a la iTunesConnect para su procesado!

El comando en cuestión es:

xcrun altool -u [username] -p [password] -f [path to bundle] -t ios

En un guión de compilación de Xojo puedes, incluso, mostrar un diálogo preguntando si quieres realizar el envío. Sólo has de añadir un guión de tipo post-build y pegar en este el siguiente código:

dim btn As String = ShowDialog("Do you want to upload this build to Apple?", "", "Yes", "No", "")
if btn = "No" Then
  Return
end if

// Encuentra la ruta al archivo .ipa recién compilado
Dim result as String = DoShellCommand("cd " + CurrentBuildLocation + " && ls -1 *.ipa")
Dim IPAPath As String = CurrentBuildLocation + "/" + ReplaceAll(trim(result), " ", "\ ")

// Crea el comando
Dim username as string = "Tu nombre de usuario de iTunesConnect"
Dim password as string = "Tu contraseña de iTunesConnect"
Dim cmd As String = "xcrun altool -u -p -f -t ios"
cmd = Replace(cmd, "", IPAPath)
cmd = Replace(cmd, "", username)
cmd = Replace(cmd, "", password)

// Valida el paquete (con un timeout de 2 minutos)
// Si ocurre un error, muéstralo y aborta
Dim errorcode As Integer
result = DoShellCommand(cmd + " -v", 120, errorcode)
If errorcode <> 0 Then
  print result
  Return
End If

// Sube el paquete (con un timeout de 15 minutos)
// Si ocurre un error, muéstralo y aborta
result = DoShellCommand(cmd + " --upload-app", 900, errorcode)
If errorcode <> 0 Then
  print result
  Return
End If

Print "Upload Complete."

Para obtener más información sobre esta potente herramienta de la línea de comandos, abre el Terminal y escribe:

xcrun altool -h
Javier Rodriguez

Consultor, desarrollador y formador con más de 25 años de experiencia. Reconocido experto en el mundo Apple, autor de varios libros sobre tecnología. Si tienes un proyecto o necesitas ayuda, ¡ponte en contacto conmigo!

Deja un comentario

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

*