Xcode 4: crea un archivo IPA en lugar de .xcarchive

182

En Xcode 3.2.5 utilizo "Build And Archive" para crear un archivo IPA. En Xcode 4 puede usar "Producto -> Archivar" para archivar una aplicación en un paquete .xcarchive.

¿Cómo puedo crear un archivo .ipa con Xcode 4?

Manni
fuente
3
Cada vez que construyo una nueva versión ad hoc, mi búsqueda en Google me lleva aquí. He visto esta página muchas veces en los últimos meses. Buena pregunta, buena solución
coneybeare
Buena pregunta y buena respuesta. Instrucciones detalladas sobre
cómo
Aquí hay un complemento de Xcode para exportar IPA github.com/rajeshbeats/Xcode-Plugin-Export-IPA
Raj

Respuestas:

391

La creación de un IPA se realiza de la misma manera que la creación de un archivo .xcarchive: Producto -> Archivo. Una vez que se complete la operación de archivo, vaya al Organizador, seleccione su archivo, seleccione Compartir y en el panel "Seleccionar el contenido y las opciones para compartir:" configure Contenido en "Paquete de iOS App Store (.ipa) e Identidad en la distribución de iPhone (que debe coincidir con su perfil de aprovisionamiento ad hoc / tienda de aplicaciones para el proyecto).

Lo más probable es que la opción "Paquete de iOS App Store (.ipa)" esté desactivada. Esto sucede cuando su compilación produce más de un solo objetivo: por ejemplo, una aplicación y una biblioteca. Todos terminan en la carpeta de productos de compilación y Xcode se confunde ingenuamente sobre cómo empaquetarlos a ambos en un archivo .ipa, por lo que simplemente desactiva la opción.

Una forma de resolver esto es la siguiente: revise la configuración de compilación para cada uno de los objetivos, excepto el objetivo de la aplicación, y establezca el indicador Saltar instalación en SÍ. Luego haga el Producto -> Archive tango una vez más y vaya al Organizador para seleccionar su nuevo archivo. Ahora, al hacer clic en el botón Compartir, la opción .ipa debería estar habilitada.

Espero que esto ayude.

eploko
fuente
2
Esto solucionó mi problema, ¡gracias! En mi caso, el problema era en realidad uno de los niños de proyectos (ProtocolBuffers para mí) que tenían varios objetivos que sea necesario instalar salto a establecer.
JosephH
Es posible que necesite Producto -> Limpiar y abrir / cerrar su espacio de trabajo antes de que aparezca la opción Producto -> Archivar.
Mark Chackerian
Tuve el problema con múltiples objetivos. Configurando la biblioteca compartida para Omitir Instalar SÍ y la aplicación para Omitir Instalar NO lo arreglaron. Esto no fue un problema para mí en Xcode 3.2, solo 4.1.
logancautrell
44
"Compartir" ahora es "Distribuir ..." Luego seleccione "Guardar para empresa de implementación ad-hoc"
Rembrandt Q. Einstein
"Omitir instalación" no es suficiente: tengo este error con Xcode 4.5, y se niega a distribuir correctamente, desde que agregué una biblioteca con un paquete.
Adam
44

Simplemente configurar Skip Install en YES no funcionó para mí. Esperemos que esto ayude a alguien.

Fui a la dependencia de los objetivos de mi proyecto: Coreplot-CocoaTouch. Luego fue a Coreplot-CocoaTouch Targets. En sus objetivos se abrió Fases de construcción. Luego abrió Copiar encabezados. Allí tuve algunos encabezados en Público, algunos en Privado y otros en Proyecto. Movió a TODOS a Project.

Por supuesto, en la Configuración de compilación de Coreplot-CocoaTouch Targets se verificó que la opción Omitir instalación se estableció en SÍ en las opciones de implementación.

Y esta vez Archive creó un archivo que podría firmarse y producirse .ipa.

Boris Gafurov
fuente
1
Después de mover los encabezados al Proyecto funciona perfectamente junto con los pasos anteriores. Gracias
iOSAppDev
¡Como una brisa fresca! Cualquiera que entregue github.com/sprhawk/ytoolkit.git para OAuth en su proyecto requerirá esto. Gracias.
vmanjz
2
¿Por qué, oh, por qué Xcode sigue lleno de errores tan graves como este? ¡18 meses después de este comentario y el error sigue ahí! Gracias por la ayuda.
Ben Clayton
No tienes idea de cuánto te amo en este momento ... ¡al menos uno de mis problemas está resuelto! ¡Gracias!
Dmytro
15

Para archivos Xcode 4.6 (y Xcode 5)

  • En Organizador, haga clic con el botón derecho en un archivo, seleccione Mostrar en Finder
  • En Finder, haga clic con el botón derecho en un archivo, seleccione Mostrar contenido del paquete
  • Abra la carpeta Productos> Aplicaciones
  • La aplicación está ahí
  • Arrastra la aplicación a la carpeta de aplicaciones de iTunes

    ingrese la descripción de la imagen aquí

  • Haga clic derecho en la aplicación en iTunes Apps, seleccione Mostrar en Finder

  • El .ipaestá ahí!
Oh ho
fuente
Esto es lo que realmente necesito para mi xcode 4.6.3, todo lo anterior no tiene sentido para mí, solo este funciona. Excelente !
Forrest
precaución, creará una ipa pero podría no instalarse correctamente, muestra el ícono en el teléfono después de la sincronización pero dice que la instalación se realiza debajo y nunca termina. de todos modos esa es mi experiencia hasta ahora después de probar esto, Xcode 5.1.1.
Colin Lamarre
4

En el organizador, puede hacer clic en Compartir y guardar como paquete de iOS App Store (.ipa). También es posible que deba seleccionar 'Archivo' en el menú 'Producto' para generar el archivo en el Organizador. Por último, creo que debe tener una compilación archivada debidamente firmada para hacer esto.

Joshua Smith
fuente
3
Fue fácil descubrir cómo crear el Archivo desde el proyecto. El problema es que al compartir la opción 'Paquete' está en gris. Es posible que tenga razón en que el archivo debe estar firmado correctamente para que esa opción esté habilitada. Uso la clave para la distribución Ad-Hoc y también tengo derechos especificados para una distribución Ad-Hoc. ¿Podría compartir cómo hacer posible crear el archivo IPA?
krasnyk
4

Tuve este mismo problema, usando una versión antigua de la biblioteca route-me. "Salteé" todas las bibliotecas y las bibliotecas dentro de las bibliotecas (proj4), pero todavía tenía el mismo problema. Resulta que route-me y proj4 estaban instalando archivos de encabezado públicos, incluso cuando se omitían las bibliotecas, ¡lo que lo estropeaba de la misma manera! Así que entré en la pestaña "Construir fases" de los objetivos de ruta y proj4, abrí "Copiar encabezados", abrí "Público" y arrastré esos encabezados de "Público" a "Proyecto". Ahora no se instalan en $ (BUILD) / usr / local / include, ¡y puedo crear un archivo ipa desde el archivo!

Espero que Apple solucione este horrible problema de usabilidad con XCode. No da absolutamente ninguna indicación de lo que está mal, simplemente no funciona. Odio los controles atenuados que no te dicen nada sobre por qué están atenuados. ¿Qué tal en lugar de ignorar los clics, los controles deshabilitados podrían mostrar un mensaje que le dice por qué demonios están deshabilitados cuando hace clic en ellos con frustración?

Don Hopkins
fuente
¡Sí! Todos los archivos de encabezado marcados como públicos resuelven el problema. ¡Establecerlos como proyecto solucionó el problema!
JakubKnejzlik
3

Suponiendo que haya hecho un Producto> Archivo exitoso, desde Organizador (Shift Apple 2) haga clic en Archivos.

Selecciona tu archivo. Selecciona Compartir. En el panel "Seleccionar el contenido y las opciones para compartir", configure Contenido en "Paquete de iOS App Store (.ipa) e Identidad en la distribución de iPhone".

Haga clic en Siguiente, ingrese el nombre de una aplicación y haga clic en Guardar.

Todos los detalles sangrientos con capturas de pantalla están aquí: Xcode4UserGuide

Snowcrash
fuente
2

Quien haya probado todas las otras respuestas y no haya tenido suerte, marque esta casilla de verificación, espero que le sirva de ayuda (hizo el truco para mí xcode 6.0.1)

ingrese la descripción de la imagen aquí

Inder Kumar Rathore
fuente
0

Tuve el mismo problema ... Tuve que recrear el proyecto desde cero.

Nota: mi proyecto se creó en XCode 3.1 y se vinculaba con una biblioteca estática que se estaba creando como un subproyecto (a un destino común). Cambié esto para construir la fuente cuando recreé el proyecto XCode en XCode 4.

Ahora, al hacer un Producto / Archivo / Compartir ... obtiene la opción de "Paquete de iOS App Store (.ipa)" directamente encima de "Aplicación" (que ahora está atenuada) y "Archivo" (que exporta el archivo .xcarchive).

Graeme Wicksted
fuente
0

Mismo problema. Resolví establecer el indicador "omitir instalación" en SÍ para cada proyecto externo, dejando los otros objetivos del proyecto principal sin cambios.

También tuve que ir a "Editar esquema ...", elegir el panel "Archivar" y establecer la configuración de compilación correcta para mi propósito ad-hoc.

Luego, un simple Producto -> Archivo -> Compartir hizo el trabajo esperado.

nebillo
fuente
0

Deberá compilar y archivar su proyecto. Es posible que deba verificar qué configuración de firma de código tiene en el proyecto y el ejecutable.

Use el Organizador para seleccionar su versión de archivo y luego podrá Compartir esa versión de su proyecto. Deberá seleccionar nuevamente la firma de código correcta. Le permitirá guardar el archivo .ipa donde desee.

Arrastra y suelta el archivo .ipa en iTunes y luego sincronízalo con tu iPhone.

Surjit Joshi
fuente
0

Si es un juego (también puede ser una aplicación) y tiene algunas bibliotecas estáticas como cocos2d u otra biblioteca de terceros ... entonces solo tiene que seleccionar * SOLO LA * biblioteca estática (NO LA APLICACIÓN) y en su configuración de compilación en Implementación, establezca Omitir marca de instalación YESy Archivarlo, lo dat ...

vivek
fuente
0

Fui arrojó el mismo problema. Ninguna de las respuestas anteriores funcionó para mí, pero terminé buscando la solución por mi cuenta. El archivo ipa no se creó porque había archivos de biblioteca (libXXX.a) en Target-> Build Fases -> Copy Bundle with resources

Espero que ayude a alguien :)

Shrolox
fuente