2012-02-03 8 views
6

Estoy escribiendo una aplicación de teléfono en Xcode 4.2. En algún momento de los últimos días, cambié algo, no sé qué, y no hay nada obvio en la historia de git, y aunque aún puedo ejecutarlo en mi dispositivo y en el simulador, cuando archive la compilación, crea un archivo en lugar de una aplicación. No puedo compartir estos archivos como archivos IPA; si lo intento me dicen: "No existe un paquete para este tipo de archivo".Xcode ha comenzado a crear archivos, no aplicaciones. ¿Cómo lo cambio?

¿Qué hice? ¿Cómo lo cambio para que pueda producir IPA nuevamente?

+0

prácticamente un duplicado de [Archivar proyecto en XCode crea incorrectamente paquete de aplicaciones múltiples] (http://stackoverflow.com/questions/5206536/archiving-project-in-xcode-incorrectly-creates-multi-application-bundle) – Simon

Respuesta

10

Asegúrese de que para cualquier destino intermedio seleccione "Omitir instalación" para sus configuraciones de compilación.

+0

No tengo la opción omitir la instalación en mi xcode 4.4.1 – Mashhadi

6

Haz clic en el menú desplegable de la construcción en la esquina superior derecha de la ventana de Xcode y selecciona "editar esquema" para ver si hay algún problema allí.

Si no puede ver nada, intente seleccionar "administrar esquemas", luego elimine los esquemas anteriores y presione "crear esquemas ahora mismo" para crear uno nuevo.

Solo desea un esquema, para la compilación de su aplicación (o uno para cada objetivo si hay varios destinos). Si hay otros esquemas (por ejemplo, para sub proyectos integrados utilizados para crear bibliotecas estáticas utilizadas por su proyecto) elimínelos.

Además, como dice jrtc27, si tiene algún subproyecto que produzca libs estáticas, debe marcarlo como "omitir instalación" en la configuración de compilación. Hay another question here que se relaciona específicamente con ese problema y tiene una explicación más detallada de cómo solucionarlo:

16

hice lo siguiente para hacer que funcione para mí:

  1. para la biblioteca estática Three20, solía cocoapods para incluir los archivos dentro del proyecto principal .. simplemente se deshizo de todos los problemas se Three20 dándome (y ellos son muchos). Por cierto, traté de reemplazar el three20 con el Nimbus ... pero a Nimbus le faltaban algunas de las características que mi proyecto estaba usando para el three20 ... así que Nimbus no fue útil.
  2. conjunto saltar a instalar sí en la configuración de construcción para todos los demás sub-proyectos/librerías estáticas y cambió las cabeceras de copia de público a proyectar en las fases de construcción
  3. lo más importante: bajo las bibliotecas sub .. en las fases de construcción me aseguré que copiar archivos destino se ha cambiado de Absolute path a products directory.

y eso fue todo!

pista: para tener una idea de los archivos involucrados que está causando su archivo para crear un archivo de almacenamiento en lugar de una IPA hacer esto:

  1. Seleccione el archivo y haga clic en el botón Distribuir.
  2. Seleccione la opción 'Guardar productos fabricados'.
  3. Pulse Siguiente y guarde.
  4. Examine el directorio creado en Finder.
  5. El subdirectorio 'libraries' identificará las bibliotecas que necesita para configurar Skip Install en Yes.
  6. en algunos casos usr/local/include identificará los archivos de encabezado culpable que necesita mover de Public to Project o los archivos que tiene que cambiar de la ruta absoluta al directorio de productos. pero ese directorio (es decir, usr/local/include) varía según la estructura de directorios de su sublibrary
+0

Esa sección de sugerencias es ** muy ** útil. –

+0

¡Mejor pista, salvó mi vida! ¡Gracias! –

Cuestiones relacionadas