iphone ios header clang restkit

iphone - Error de archivo RestKit/RestKit.h no encontrado-versión 0.10.0



ios header (14)

Aquí hay un error común que hará que quieras darte una bofetada después de solucionarlo.

Sí, definitivamente desea agregar "$(BUILT_PRODUCTS_DIR)/../../Headers" a las Header Search Paths su objetivo, ¡pero no olvide incluir las comillas!

Estoy hablando de las citas que están antes de $(BUILT y después de _DIR)/../../Headers

Si su configuración de compilación tiene un espacio en el nombre (por ejemplo, el mío es ''Ad Hoc'') y acaba de agregar $(BUILT_PRODUCTS_DIR)/../../Headers sin las comillas $(BUILT_PRODUCTS_DIR)/../../Headers y finales, puede terminar obteniendo el Problema "Léxico o del preprocesador: el archivo RestKit / RestKit.h no se encuentra" problema.

Estoy perdiendo mi cabello en mis intentos de hacer que RestKit construya y funcione. Recibo el temido "Problema léxico o del preprocesador: el archivo RestKit / RestKit.h no se encuentra". Yo uso Xcode 4.2 y mi proyecto es para iOS.

Antes, tenía el modo de depuración funcionando perfectamente con RestKit 0.9.0. Luego me encontré con problemas al intentar archivar. Después de leer este foro e intentar algunas soluciones, decidí actualizar a 0.10.0 con la esperanza de que solucione el problema.

Ahora, mi proyecto ni siquiera se está construyendo en modo de depuración y obtengo el mismo archivo RestKit / RestKit.h no encontrado.

Tengo esto en la ruta de búsqueda del encabezado: "$ (BUILT_PRODUCTS_DIR) /../../ Headers". ¿Puede sugerir (para la versión 0.10.0): 1) ¿Dónde debería estar la ubicación física de RestKit? (Puede que no importe, pero cuál funcionó para usted, con la esperanza de que pueda reflejar su configuración) 2) Intenté apuntar mi ruta de búsqueda de encabezado a "/ Developer / Library / RestKit-RestKit-69adee9 /" y luego a " / Desarrollador / Biblioteca / RestKit-RestKit-69adee9 / Build "

Completamente confundido y frustrado ..

EDIT1: Después de varias horas, me di por vencido. Nuked mi proyecto. Creó un proyecto nuevo. Vuelva a crear los archivos (copiar pegar desde el proyecto anterior). Ahora el error "RestKit no encontrado" se ha ido! Pero ahora, estoy recibiendo este otro error:

Undefined symbols for architecture i386: "_OBJC_CLASS_$_RKObjectMapping", referenced from: objc-class-ref in myclassname1.o "_OBJC_CLASS_$_RKObjectManager", referenced from: objc-class-ref in myclassname2.o ld: symbol(s) not found for architecture i386 clang: error: linker command failed with exit code 1 (use -v to see invocation)

Verifiqué y me aseguré de que NO agregué RestKit.framework ... No tengo idea de por qué está ocurriendo el error de Clang ahora

EDIT2: El libRestKit.a era rojo. Está bien de acuerdo con https://github.com/RestKit/RestKit/wiki/Installation-Troubleshooting Solo por el detalle, eliminé todas las dependencias vinculadas. Se eliminaron las "otras banderas del enlazador". Xcode cerrado y reabierto. Ponlos a todos de vuelta. Ese error se ha ido. Tal vez me perdí un marco que resultó en un error de sonido. Pero es muy poco probable que lo haya comprobado y comprobado dos veces. Ahora funciona.

Se construye y archiva en modo de depuración. Todavía no he probado el modo de distribución.

EDIT3: ¡ Apple aprobó mi aplicación desde el principio y está en vivo! Todavía no sé qué causó el problema aquí. Desacoplar un proyecto existente y crear uno nuevo y copiar sobre los archivos antiguos (y verificar periódicamente si la compilación se realiza) no puede ser una solución. Así que estoy dejando esta pregunta abierta.


Creo que puedo arrojar algo de luz sobre esto.

Cuando actualiza a 0.10.0, cambia las rutas de búsqueda de encabezado a "$(BUILT_PRODUCTS_DIR)/../../Headers" , ¿verdad?

La guía de instalación solo dice hacer esto para la configuración del proyecto . Sin embargo, en muchos casos , incluido el mío, también deberá actualizarlos para la configuración de destino .

La configuración de destino seguirá teniendo las rutas de búsqueda de encabezado antiguas y, por cualquier motivo, decida no heredar de la configuración del proyecto.


Descubrí que necesito compilar manualmente el destino RestKit para que los archivos del encabezado se copien en el directorio de compilación. Aparentemente, la construcción del proyecto maestro no ejecuta de manera confiable la construcción del subproyecto.

Por lo tanto, mis pasos para solucionar este problema:

  • Seleccione el objetivo de ejecución RestKit
  • Construir
  • Asegúrese de que la ruta de búsqueda del encabezado se haya establecido en todos los destinos (aparentemente, el proyecto en sí no es suficiente)
  • Construir proyecto principal

Después de pasar 2 días en este mismo error y navegar a todos los resultados posibles de Google, ¡finalmente lo obtuve!

No se debe a la configuración de Datos Derivados, ya están bien en XCode 4.3.2.

El problema es que estás haciendo un #import "RKObjectMapping.h" o algún otro programa incluido.

En su lugar, use @class RKObjectMapping o si realmente no usa .h use <RestKit/RKObjectMapping.h>

Fui con @class ya que solo necesito compilar ...

¡Espero que esto ayude!


Eso sí, es un truco total, pero puso en marcha mi proyecto.

Suponiendo que ya ha seguido los pasos de instalación del RestKit Github https://github.com/RestKit/RestKit/blob/master/README.md#quick-start-aka-tldr

En el objetivo RestKit, goto Build Phases . En la lista desplegable Copiar encabezados , mueva todos los archivos de encabezado de "Proyecto" a "Público".

Limpiar, construir, correr.


Este es un problema que no creo que tenga suficientes respuestas para este problema, porque si tiene este problema, se siente como si no hubiera nada que hacer. Después de probar todas las soluciones propuestas (ninguna de ellas funcionó). Finalmente encontré el problema

El problema era que una de mis carpetas tenía un espacio en ella. ¡No uses espacios en los nombres de tus carpetas de origen!

Used to be : (/Xcode projects/basicRestkit etc...) -- lots of pain and suffering changed to : (/projects/basicRestkit) -- lots of rejoicing

Esto provocó que las rutas de búsqueda de encabezados no funcionaran y, por lo tanto, no encontraran los archivos. Es muy posible que haya una forma de usar alterar las rutas de búsqueda de encabezados para encontrar sus archivos incluso con espacios.

Esto podría no ayudarte, pero podría muy bien. Buena suerte.


He estado luchando con el mismo problema durante las últimas horas. Lo que finalmente funcionó para mí (y no estoy diciendo que esto sea una solución definitiva, pero al menos es algo para probar).

  • Elimina RestKit de tu proyecto
  • Cierra tu proyecto
  • Mueve la carpeta RestKit al lado de tu xcodeproject principal
  • Abre el proyecto RestKit y constrúyelo.
  • Cerrar el proyecto RestKit
  • Abra su proyecto y vuelva a importar el proyecto RestKit en su xcodeproject
  • Corregir las dependencias y enlaces en la configuración de destino
  • Agregue la ruta de búsqueda "$ (BUILT_PRODUCTS_DIR) /../../ Headers" a AMBOS ajustes del proyecto y los ajustes de destino. (solo funcionó para mí cuando estaban listados en ambos).

Este último paso podría ser todo lo que se necesita para solucionarlo, pero como yo también me estaba echando el pelo, probé muchas soluciones diferentes y no quería suponer que este último paso fue la única razón por la que se arregló.

(y mi configuración es XCode 4.3.2 y OS X 10.7.3)


Hoy tuve exactamente el mismo error. Todo nuestro código está en un repositorio github y la carpeta restkit se ignora por lo que ninguno de los archivos restkit estaban allí. Ahora, cuando xcode abre el proyecto y encuentra cosas que faltan, se asume que todo el infierno se desató. Entonces, eliminé la carpeta, la cloné nuevamente y luego tomé una copia nueva del kit de descanso y la tiré allí, y ya está, todo funcionó.


La solución que encontré fue no copiar y pasar los "$ (BUILT_PRODUCTS_DIR) /../../ Encabezados" a las Rutas de búsqueda de encabezado de su objetivo.

Después de cinco horas, borré la copia y la pegué ", escribí manualmente y funcionó.


Mi solución:

Al agregar "$(BUILT_PRODUCTS_DIR)/../../Headers" a Objetivos -> Configuración de compilación -> Rutas de búsqueda -> Encabezado Rutas de búsqueda, el valor no se estableció.

En su lugar, el valor se ha configurado en Rutas de búsqueda de encabezado de usuario. Entonces, hace doble clic en Rutas de búsqueda de encabezado, aparece un panel con líneas, hace clic en + abajo a la izquierda, pega esa cadena allí, hace clic en otro lugar para cerrar la ventana y ... nada. Las rutas de búsqueda de encabezado no se actualizaron, pero la ruta de búsqueda de encabezado de usuario sí.

? !!!

Así que hace clic en el botón de divulgación en Rutas de búsqueda de encabezado. Haga clic en el signo + a la derecha del atributo y agregue el valor ...


Para mi solo funcionan estos pasos. Marque here Espero que esto ayude.


Recientemente jugué un poco con la actualización de RestKit 0.9.3 a 0.10.0 y tuve la misma cosa. ¿Eliminó el directorio RestKit / build? Este contiene una copia de los archivos .h y se crea como parte del proceso de compilación cuando se genera 0.9.x. Haciendo producto -> Limpiar no parece eliminar estos archivos. 0.10.0 no parece crear este directorio de compilación. Sospecho que sus errores de compilación se deben a que esos archivos aún están siendo recogidos.

Además, para responder a su pregunta completamente, guardo los archivos RestKit en:
(proyecto dir) / Frameworks / RestKit
Este es un submódulo git, por lo que contiene un clon del repositorio RestKit git en una revisión particular.

Y la ruta de búsqueda de encabezado es:
$ (BUILT_PRODUCTS_DIR) /../../ Encabezados

La ruta de búsqueda de encabezado para 0.9.3 era:
$ (SOURCE_ROOT) / RestKit / Build

Encontré útil esta guía (tal vez esto es lo que ya está siguiendo): github.com/RestKit/RestKit/wiki/Installing-RestKit-in-Xcode-4.x y observe la sección sobre solo tener libRestKit. a en el proyecto para las últimas versiones de RestKit donde las versiones anteriores tenían todas:

  • libRestKitNetwork.a
  • libRestKitObjectMapping.a
  • libRestKitSupport.a
  • libRestKitJSONParserJSONKit.a
  • libRestKitXMLParserLibxml.a
  • libRestKitCoreData.a

Si tiene todos estos, elimínelos de su proyecto.


Tenía este problema también. Se construiría y ejecutaría bien en el simulador, pero no se archivaría. Aquí es donde me equivoqué ...

Hice esto:

#import "RestKit.h"

En lugar de la forma correcta:

#import <RestKit/RestKit.h>


Tenía un problema muy similar. Resultó ser que accidentalmente había agregado la configuración de compilación a "Rutas de búsqueda de encabezado de usuario " en lugar de "Rutas de búsqueda de encabezado".