Tengo un proyecto de iOS usando CocoaPods. Todo funcionaba sin problemas hasta que otro desarrollador comenzó a trabajar en el mismo proyecto. Hizo algunos cambios (solo hasta el código que yo sepa) e hizo una nueva rama en el repositorio. Revisé su rama e intenté compilarla, pero recibo un error: no se encontró el archivo ASLogger / ASLogger.h.
Incluso si elimino todo el proyecto y hago una copia nueva y uso 'pods install'. El fallo de construcción sigue ahí. ¿Tienes alguna idea de dónde puede estar el problema? Si necesita más información, solo pregunte.
Respuestas:
Actualizar
Asegúrese de que su
Podfile
incluyelink_with
en los destinos que faltan un archivo de configuración. Cocoapods solo establece el primer objetivo por defecto de lo contrario. p.ej------ Fin de actualización
Nota: Tenga en cuenta que debe buscar en Proyecto-> Información-> Configuraciones para los pasos a continuación.
Tuve síntomas similares y descubrí que el
pods.xcconfig
archivo no estaba incluido en el específicotarget
que estaba tratando de construir. Algunas de las otras soluciones sugeridas funcionaron para mí, pero esta parecía abordar parte del problema subyacente.La solución simple era cambiar el conjunto del archivo de configuración para los objetivos que no tenían un conjunto.
fuente
link_with
para especificar mi otro objetivo funcionó para mí. Muchas gracias. Acabo de pasar varias horas en esto.link_with
no es compatible con Cocoapods 1.0 o superior.Actualizar
He actualizado esto desde mi respuesta original, que recibió el voto negativo, así que espero que esto ayude. Y si lo hace, espero que recupere mi voto.
Si los encabezados no se importan, probablemente tenga un conflicto en el
HEADER_SEARCH_PATHS
. Intente y agregue$(inherited)
a las rutas de búsqueda de encabezado en su Configuración de compilación para asegurarse de que extraiga cualquier ruta de búsqueda incluida en el archivo .xcconfig de sus CocoaPods.Esto debería ayudar con cualquier conflicto e importar su fuente correctamente.
fuente
1.Compruebe
2.Compruebe el estilo de importación (KEY POINT), si
podfile
ha configuradouse_frameworks!
En el tuyo
File-Bridging-Header.h
, al formateador debería gustarle esto#import "MBProgressHUD.h"
más debería estar debajo
#import <MBProgressHUD.h>
3. ¡Eso debe ser trabajo! Créeme
fuente
Archivos de encabezado, serás mi muerte ...
Finalmente conseguí que funcione agregando (incluyendo comillas)
a la entrada Rutas de búsqueda de encabezado de usuario y marcando 'recursivo'.
fuente
$(inherited)
(no estaba funcionando) pero agregar esto funcionó para mí.Descubrí
${PODS_HEADERS_SEARCH_PATHS}
que falta y no está definido en mi rama de desarrollo de git, así que agregué"$(SRCROOT)/Pods/Headers/"
para las rutas de búsqueda de encabezado con recursiveEso esta bien para mi
fuente
$(SRCROOT)/Pods/Headers
Las otras dos respuestas no ayudaron aquí. Encontré otros 2 problemas que podrían solucionarlo:
El Proyecto-> Información-> Configuraciones en el proyecto Xcode (su proyecto) debe establecerse en 'Pods' para Depuración, Liberación (y lo que tenga). Consulte "Encabezados no encontrados: rutas de búsqueda no incluidas"
Tal vez tenga que vincular el objetivo con el comando link_with. Consulte "No se pueden encontrar encabezados en el proyecto de biblioteca estática"
EDITAR Puede verificar un enlace simbólico de esta manera: cree un archivo de texto llamado 'verificar' sin una extensión. copie estas líneas en él:
Luego vaya a la terminal, cambie a la carpeta donde se encuentra su archivo de verificación y escriba
fuente
Esto es lo que funcionó para mí:
Vaya a la pestaña Destino> "Configuración de compilación" y busque la configuración "Rutas de búsqueda de encabezado de usuario".
Establezca esto en "$ (BUILT_PRODUCTS_DIR)" y marque la casilla de verificación "Recursiva".
Ahora el objetivo creado buscará en el directorio de compilación compartido del espacio de trabajo para ubicar los archivos de encabezado enlazables.
====
ACTUALIZAR
Tuve un problema similar (aunque ligeramente diferente) recientemente. Resultó que Xcode no pudo encontrar los Pods porque había abierto el
.xcodeproj
archivo en lugar del.xcworkspace
archivo. Podría ayudar a otros en el futuro.fuente
pod install
y volver a abrir.Si nada de lo anterior funcionó para usted y está encontrando este error porque acaba de cambiar a
use_frameworks!
su Podfile, siga leyendo:Probé todas las soluciones anteriores y mucho más antes de saber que no se trata de buscar rutas de encabezado en mi caso particular; es que cuando cambias a
use_frameworks!
su Podfile ya no necesita incluir marcos en su encabezado de puente, y de hecho Xcode arrojará el muy inútil error "no se puede encontrar el encabezado".Lo que debe hacer es eliminar todas las importaciones del archivo de encabezado de puente y, en su lugar, usar Swift
import Module
en sus archivos Swift individuales según sea necesario, tal como lo haría para los marcos Swift.Y si está utilizando cualquiera de los encabezados de marco en sus clases de Obj-C (en mi caso tenemos una clase de conveniencia que usó el FBSDK), debe cambiarlo de una importación local a una global (esto significa cambiar
#import "Module.h"
a#import <Module/Module.h>
, que debería completarse automáticamente) para ti cuando comienzas a escribir el nombre del marco. En mi caso lo fue<AFNetworking/AFHTTPRequestOperationManager.h>
).Editar: desde entonces aprendí que hacer un
@import Module
usa el archivo paraguas que es aún más seguro.fuente
¿Intentaste importar el estilo Cocoapods?
La información en el sitio no es realmente clara, presenté una solicitud de extracción:
https://github.com/CocoaPods/cocoapods.org/pull/34
Actualización: retiraron mi solicitud :)
fuente
El wiki da consejos sobre cómo resolver este problema:
fuente
$(PROJECT_DIR)/Pods/Headers/Public/xxx/ios/xxx.h
, hay un extra deios
carpeta ...Fui el único desarrollador en el equipo que experimentó este mismo problema, funcionó perfectamente para todos, así que me di cuenta de que tenía que ser mi entorno. Intenté uno
git clone
del mismo proyecto en otro directorio y se compiló perfectamente, luego me di cuenta de que tenía que ser algo de almacenamiento en caché de Xcode para mi ruta de proyecto en algún lugar, que "en algún lugar" es la carpeta DerivedData, simplemente elimínelo y haga una compilación limpia de su proyecto, funcionó para mí.Puede obtener la ruta e incluso abrir la carpeta en el buscador yendo a:
Xcode -> Preferencias -> Ubicaciones -> ** DerivedData
fuente
Actualizaré las siguientes cosas en mi configuración de compilación y no obtuve ningún error. Para verificar estas son las cosas mientras actualiza sus cocoapods.
Configuración de compilación
Construir solo arquitectura
Ruta de búsqueda
fuente
Si tuvo los errores de construcción después de una " instalación de pod " o una " actualización de pod ", puede ser que uno de sus pods haya sido construido con XCode 6.3 mientras todavía está utilizando una versión anterior.
En mi caso, tuve que actualizar mi OSX de disidentes a Yosemite para tener Xcode 6.3 y resolver el problema
fuente
para mí el problema estaba en el valor de otras banderas de Linker. Por alguna razón no tenía citas en banderas como
-l"xml2"
-l"Pods-MBProgressHUD"
.fuente
Other Linker Flags
encontré dos entradas:-|Localytics
y|-PodsLocalytics
. Los eliminé y luego pude compilar.Tuve que descargar el zip desde git hub y arrastrar los archivos faltantes al Finder en las rutas correspondientes en Pod / ...
fuente
Lo que funcionó para mí fue seleccionar el proyecto Pods, encontrar y seleccionar el marco de destino con el encabezado faltante en el directorio de destino del proyecto Pod y establecer "Build Active Architecture Only" en "No" en "Arquitecturas" en la configuración de compilación del objetivo.
fuente
Tengo el mismo problema, pero las soluciones anteriores no pueden funcionar. Lo arreglé haciendo esto:
Y luego funciona.
fuente
Para mí, lo que solucionó fue que el objetivo de implementación de iOS para mi proyecto Pods era más bajo que mi proyecto en sí. Una vez que hice lo mismo que mi proyecto, pude encontrar el archivo de encabezado.
fuente
Estaba en la semilla GM de Xcode 5.0 y no pude conseguir que ninguna de estas respuestas funcionara. Intenté cada respuesta en SO en múltiples preguntas diferentes sobre las importaciones de encabezados con cocoapods.
Finalmente encontré una solución que me funcionó : me actualicé a Xcode 5.0 a través de Mac AppStore (instalado encima de la semilla GM) y ahora las importaciones de encabezado funcionan como se esperaba.
También todavía tenía una versión beta de Xcode 5 en mi sistema y también la eliminé. Tal vez fue una combinación de las dos cosas, pero espero que esto ayude a alguien más.
fuente
Esta fue la respuesta para mí, actualicé cocoapods y creo que eso hizo que los PODS_HEADERS_SEARCH_PATHS desaparecieran. Mi solución fue similar a esta pero usé "$ (PODS_ROOT) / Headers" - Andrew Aitken
Muchas gracias por esta respuesta. Tuve dificultades para buscar formas de solucionar mi problema. Muchas gracias.
fuente
Ninguna de las respuestas me ayudó (tenía mis pods vinculados con todos los objetivos, configuró las configuraciones correctamente, configuré correctamente las rutas de búsqueda "$ (heredado)", etc.).
El problema desapareció por sí solo después de que actualicé cocoapods a la versión más reciente de depuración usando el comando estándar de instalación / actualización:
o:
(si se usó sudo durante la instalación).
Debe haber sido cocoapods bug.
fuente
Una solución simple es: 1. Eliminar la carpeta Pods y el archivo Podfile.lock. Pero no elimine Podfile 2. Ejecute el siguiente comando en la carpeta raíz del proyecto:
fuente
Aquí hay otra razón: todas las rutas de encabezado parecían estar bien, pero aún teníamos un error en el archivo precompilado (.pch) al intentar leer un encabezado de pod
(es decir, #import <CocoaLumberjack / CocoaLumberjack.h>).
Al observar la salida de compilación en bruto, finalmente noté que el error estaba rompiendo nuestro objetivo de extensión de Watch OS, no el objetivo principal que estábamos construyendo, porque también estábamos importando el archivo de encabezado precompilado .pch en los objetivos de Watch OS, y estaba fallando ahí. Asegúrese de que la configuración de destino de Watch OS que la acompaña no intente importar el archivo .pch (¡especialmente si establece esa importación desde la configuración de objetivo maestro, como hice yo!)
fuente
Descubrí que incluir la biblioteca como una instalación de pod directamente ayuda a las bibliotecas dinámicas. Por ejemplo, para Firebase:
O para ASLogger:
Cambiar o codificar
HEADER_SEARCH_PATHS
no me ayudó. Si el error se repite, no es necesariorm -rf node_modules
ni eliminar el archivo pod, etc., me pareció útil borrar el caché.Para reaccionar nativo, corro
Para Xcode elimino carpetas en
~/Library/Developer/Xcode/DerivedData
fuente
Creo que una solución definitiva es ir
Build settings -> Search Path -> User Header Search Paths
, encontrar la ruta de la biblioteca y recorrerla en un Finder. Asegúrese de que exista toda la ruta, incluida su ruta de importación.Para mí mi camino era más corto que en un tutorial. En el tutorial fue algo así
#import <SDK/path/to/sdk/File.h>
, pero resulta que es solo#import <SDK/File.h>
fuente
Tengo otra solución trabajada aquí,
fuente
Intenta comentar esta línea para tu objetivo
O puede referirse a mi otro objetivo de prueba de unidad de respuesta agregada a xcode: no se pudo importar el encabezado de puente no desaparecerá
fuente
Resolví estos problemas para Xcode 8.2.1 arrastrando y soltando el marco que quiero usar.
fuente