2011-05-04 20 views
5

Saludos,¿Cómo se copian las aplicaciones de iOS generadas automáticamente?

Estoy en el proceso de escribir un script de servidor web que te permite crear aplicaciones de iOS personalizadas (básicamente intercambiando logotipos y algunas otras cosas). El servidor web personaliza un .ipa "shell" previamente cargado y vuelve a cerrar todo el contenedor para enviarlo al navegador del usuario. Es decir: personalizamos un .ipa previamente cargado en el servidor web y permitimos que el usuario lo descargue para enviarlo a la App Store.

El siguiente paso sería volver a codificar toda la .ipa, ya que cambiamos los contenidos de .IPA y el usuario debe usar su propia identidad de firma para que pueda cargarla en la tienda de aplicaciones.

Por lo que entiendo, hay un archivo "CodeResources" que contiene algún tipo de hash para cada archivo de recursos en el paquete, y el ejecutable también contiene algún tipo de firma incorporada. Para generar estos, debe usar la utilidad "codesign" en la computadora del usuario, luego use Application Loader para enviarla a la App Store. Correcto hasta ahora?

Lo que estoy tratando de averiguar es:

  1. ¿Hay una manera de Codesign la .ipa en el servidor (con tener al usuario cargar su certificado de antemano), por lo que no tiene ningún trabajo extra para hacer?
  2. Si 1) no es posible, ¿hay algún tipo de herramienta que permita volver a codificar el .ipa sin mucha molestia? Xcode parece requerir algún trabajo de configuración de proyecto para hacer solo un poco de firma de código, si es posible.
  3. ¿Hay alguna forma alternativa de codificar los archivos .ipa para el usuario, posiblemente sin tener que hacerlo manualmente manualmente?

¡Gracias de antemano!

Respuesta

3

No me gusta responder a mi propia pregunta, pero quiero cerrar esto después de tanto tiempo.

Terminamos utilizando los objetivos y esquemas de Xcode para facilitar la generación de muchas aplicaciones diferentes. Dado que tenemos un número razonable de variantes de la aplicación, esto parece estar bien por ahora.

La firma de código es un desastre y Apple cambia constantemente el proceso técnico detrás de ella, por lo que es un objetivo en movimiento y requiere una gran cantidad de piratería y trabajo de prueba y error.

+0

badcat, actualmente estoy haciendo algo similar a su proyecto, y me preguntaba si podría compartir algo de información. – KING

+0

Resulta que eventualmente logré encontrar una manera de usar la herramienta de línea de comandos 'codesign'.El problema principal no fue descomprimir/comprimir correctamente el archivo IPA, lo que condujo a enlaces simbólicos rotos y, finalmente, a errores durante la firma e instalación del código en el dispositivo. Eventualmente podría escribir una publicación/guía de blog para eso. – BastiBen

+0

Sí, la herramienta de línea de comandos Codesign funciona (lo ha estado usando). El problema que tengo es con el perfil de aprovisionamiento. Construyo un archivo .app sin CodeSigning y sin usar un perfil de Provisioning, y luego realizo algunas personalizaciones para ese archivo .app, Apple deja a CodeSign un archivo .app pero no hay una herramienta de línea de comandos para aplicar un perfil de Provisioning a los existentes. archivo .app, a menos que lo copie en el directorio. Perdón por el largo comentario pero, he estado investigando este tema por un tiempo, y eres el único que al menos en mi opinión ha expresado un trato similar con esto. – KING

4

Xcode usa la utilidad de línea de comandos codesign para crear la carpeta CodeResources y la firma digital, puede invocarla usted mismo para firmar un paquete de aplicaciones fuera de Xcode. Probablemente puedas automatizar esto en un servidor si el servidor ejecuta Mac OS X; si eres realmente inteligente, podrás averiguar cómo crear la firma tú mismo usando openssl (los certificados de firma, etc. son todos estándar). O bien, si puede contar con que el usuario tenga instaladas las herramientas de desarrollo, proporcióneles una aplicación que automatice la firma de ellas.

Aquí está a blog entry describing some of the process (aunque el caso de uso es un poco diferente).

+0

Estoy también en la búsqueda de crear aplicaciones personalizadas y crear IPA automáticamente como reemplazar los iconos, salpicar, nombre de la aplicación, aplicación de archivo, obtener IPA. ¿Puede darme alguna información/blogs/tutoriales sobre cómo y dónde comenzar? – Honey

Cuestiones relacionadas