2012-02-01 16 views
7

Estoy utilizando el proyecto de fuente abierta SDWebImage para cargar imágenes de forma asincrónica. Puedo construir & ejecutar para el simulador, así como para mi dispositivo local. Sin embargo, cuando intento de construir para su distribución (es decir Archivo), no parece que el compilador de entender lo que el archivo de cabecera es:SDWebImage building for archive (distribution)?

importación "UIImageView + WebCache.h" (No existe el fichero o directorio).

Casi seguí las instrucciones, con relativa facilidad, descritas aquí en github.com/rs/SDWebImage.

Sabía que las cosas iban demasiado bien/fácilmente para ser verdad. Curiosamente, nunca me he enfrentado realmente a un problema que es exclusivo de Archiving. ¿Alguien intentó archivar con SDWebImage antes?

* Actualizado * He actualizado basándome en los comentarios a continuación. Ahora estoy recibiendo el siguiente error al edificio del Archivo:

brazo-manzana-darwin10-llvm-gcc-4.2: Encuesta /BuildProductsPath/release-iPhoneOS/libSDWebImage.a: No existe el fichero o directorio Comando /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/llvm-gcc-4.2 fallado con el código de salida 1

lo extraño es que tengo el archivo sdwebimage.a en mi proyecto (de hecho hay 2, uno que copié e incluí, y el 2º del proyecto SDWEbImage).

* Actualización 2 * Tras realizar investigaciones adicionales, mi proyecto SDWebImage se construyeron no conseguir cuando Archive (el archivo .a es de color rojo). Pero cualquier otro tipo de construcción funciona bien. Miré a todas partes y parece que el proyecto SDWebImage tiene las configuraciones de distribución. No estoy seguro de qué otra cosa podría ser el problema aquí.

Respuesta

1

Por lo tanto, he tenido y otros han tenido este mismo problema. Trabajé en él por un tiempo esta mañana y encontré que todas las sugerencias no funcionan.

Cómo lo hice funcionar es agregar la lib de Workspace a su proyecto, como se indica en las instrucciones. Asegúrate de que el archivo no sea rojo, tuve que jugar para eliminarlo y agregar la ruta de búsqueda del encabezado nuevamente.
Finalmente, pude ver el archivo libSDWebImage.a. Haga clic derecho sobre el archivo y "Mostrar en Finder" Mueva libSDWebImage.a y/.h SDWebImage a un directorio no se eliminará añadir los archivos .h libSDWebImage.a y SDWebImage/ a proyectar Puede archivar ahora.

Espero que te sirva.

+0

I no crea que mi archivo sdwebimage.a es rojo (después de jugar un poco con él). Pero veré si puedo seguir tus instrucciones. Pero estoy muy contento de escuchar que se puede hacer! ¡Gracias! – AlvinfromDiaspar

+1

pero pregunta rápida: ¿por qué es necesario archivar cuando se ejecuta en el simulador y funciona bien en el dispositivo local? – AlvinfromDiaspar

+0

Ok, puedo ir más lejos en la compilación de archivos. Ahora estoy obteniendo este error (ver el hilo editado arriba). – AlvinfromDiaspar

8

Puede mantener su configuración tal como la tiene. Todo lo que se necesita es agregar los archivos de encabezado a la ruta de búsqueda. Para agregar los archivos de encabezado necesarios a la ruta de búsqueda, haga lo siguiente.

  1. Seleccione su archivo de proyecto
  2. Seleccione su destino
  3. Seleccione la configuración de creación
  4. En el cuadro de búsqueda escriba 'cabecera de rutas de búsqueda'
  5. Por la Liberación añaden "$(SOURCE_ROOT)/SDWebImage" (eso es con comillas).

Esto funciona cuando se importan como esto #import <SDWebImage/UIImageView+WebCache.h>

+0

lo probé exactamente como dijiste ... muestra el mismo error. Editar: Esta es la verdadera respuesta ... primero probé y no funcionó porque SDWebImage no estaba en esa ruta ... Pero cuando corregí la ruta funciona bien ... así que estoy editando tu respuesta. – Deepukjayan

+0

Esto funcionó para mí, gracias. – nebs

1

Probé todos los métodos anteriores de la adición de caminos de cabecera .. nada funcionó. Puedo construir bien el proyecto en depuración pero no en archivo. Probé algo simple y funcionó.

El archivo "UIImageView + WebCache.h" es parte del subproyecto SDWebImage.xcodeproj .. En mi proyecto principal del área de trabajo, simplemente hice "Add File" y encontré el "UIImageView + WebCache.h" en el disco y lo agregué a mi proyecto principal Ahora ese archivo es parte de mi proyecto principal. Ran Archivo y funcionó .. Me poco tonto, pero funcionó al menos

1

Lo resuelto muy fácilmente añadiendo (con comillas):

"$(SRCROOT)/SDWebImage" 

a los diversos Cabecera de rutas de búsqueda bajo configuración de generación de mi proyecto . Gracias a Lizard en SDWebImage/UIImageView+WebCache.h file not found por su solución.

0

Para mí esto se trabajó, cuando addded de cabecera de rutas de búsqueda (es ruta exacta al proyecto SDWebImage)

"$ (project_dir)/Nombre del Proyecto/Bibliotecas/SDWebImage"