update not found objective-c ios cocoa build cocoapods

objective c - not - iOS: la compilación falla con CocoaPods no puede encontrar archivos de encabezado



uninstall cocoapods (24)

¿Intentó importar estilo Cocoapods?

#import <ASLogger.h>

La información en el sitio no es muy clara, envié una solicitud de extracción:

https://github.com/CocoaPods/cocoapods.org/pull/34

Actualización: retiraron mi solicitud :)

Tengo un proyecto de iOS que usa CocoaPods. Todo funcionó sin problemas hasta que otro desarrollador comenzó a trabajar en el mismo proyecto. Hizo algunos cambios (solo hasta el código, hasta donde yo sé) e hizo una nueva sucursal en el repositorio. Revisé su sucursal e intenté compilarlo, pero aparece un error: no se encontró el archivo ASLogger / ASLogger.h.

Incluso si borro todo el proyecto y hago una copia nueva y uso ''pods install''. la falla de compilación todavía está allí. ¿Tienes alguna idea de dónde puede estar el problema? Si necesita más información, solo pregunte.


1.Verificar

configuración de compilación -> Ruta de búsqueda -> Rutas de búsqueda de encabezado de usuario ->

  • "$ {PODS_ROOT} /" recursivo

2.Verifique el estilo de importación (PUNTO CLAVE), si el podfile de su podfile ha configurado

use_frameworks!

En tu File-Bridging-Header.h , al formateador debería gustarle esto

#import "MBProgressHUD.h"

else debería estar debajo

#import <MBProgressHUD.h>

3. ¡Eso debe ser trabajo! Créeme


Actualizaré las siguientes cosas en mi configuración de compilación y no obtuve ningún error. Para comprobar estas son las cosas al actualizar tus cocoapods.

Configuración de compilación

Habilitar código de bit - SÍ (si está usando código de bit)

Preprocesador de macro - $ (heredado)

Otra bandera del enlazador - objc, -lc ++, $ (heredado)

Construir solo arquitectura

Depurar - Sí

Relese - No

Ruta de búsqueda

Ruta de búsqueda de Framework - $ (inherited) $ (PROJECT_DIR)

Ruta de búsqueda de biblioteca - $ (heredada)

Ruta de búsqueda de encabezado - $ (heredada)


Aquí hay otro motivo: todas las rutas de encabezado parecían correctas, pero todavía teníamos un error en el archivo precompilado (.pch) al intentar leer un encabezado de pod.

(es decir, #import <CocoaLumberjack / CocoaLumberjack.h>).

Al observar el resultado de compilación sin procesar, finalmente noté que el error estaba rompiendo nuestro objetivo de extensión de Watch OS, no el objetivo principal que estábamos creando, porque también estábamos importando el archivo de encabezado precompilado .pch a los objetivos de Watch OS, y estaba fallando ahí. Asegúrese de que la configuración de destino del sistema operativo Watch correspondiente no intente importar el archivo .pch (especialmente si configura esa importación desde la configuración de destino principal, ¡como yo lo hice!)


Archivos de encabezado, serás mi muerte ...

Finalmente conseguí que funcione al agregar (incluidas las comillas)

"${PODS_ROOT}/BuildHeaders"

a la entrada Rutas de búsqueda del encabezado del usuario y marcando "recursivo".


Descubrí que ${PODS_HEADERS_SEARCH_PATHS} 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 recursivo

Eso está bien para mí


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 esto, pero utilicé "$ (PODS_ROOT) / Headers" - Andrew Aitken

Muchas gracias por esta respuesta. Me costó mucho buscar formas de solucionar mi problema. Muchas gracias.


Estaba en la semilla GM de Xcode 5.0 y no pude obtener ninguna de estas respuestas para funcionar. Probé todas las respuestas en SO en múltiples preguntas diferentes sobre las importaciones de encabezados con cocoapods.

FINALMENTE encontré una solución que funcionó para mí : actualicé a Xcode 5.0 a través de Mac AppStore (instalado en la parte superior de la semilla GM) y ahora las importaciones de encabezado están funcionando como se esperaba.

También 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 con suerte esto ayuda a otra persona.


Esto es lo que funcionó para mí:

Vaya a la pestaña Destino> "Configuraciones 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 localizar 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 archivo .xcodeproj lugar del archivo .xcworkspace . Podría ayudar a otros en el futuro.


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. git clone un git clone del mismo proyecto en otro directorio y lo compilé perfectamente, luego me di cuenta de que tenía que ser algo de caché Xcode para la ruta de mi proyecto en algún lugar, que "en algún lugar" es la carpeta DerivedData, solo quítela 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



La wiki ofrece un consejo sobre cómo resolver este problema:

Si Xcode no puede encontrar los encabezados de las dependencias:

Comprueba si los archivos de encabezado del pod están enlazados de forma correcta en Pods / Headers y no anulas el HEADER_SEARCH_PATHS (ver # 1). Si Xcode todavía no puede encontrarlos, como último recurso puede anteponer sus importaciones, por ejemplo, #importar "Pods / SSZipArchive.h".


Las otras dos respuestas no ayudaron aquí. Encontré otros 2 problemas que podrían solucionarlo:

EDITAR Puede verificar un enlace simbólico de esta manera: cree un archivo de texto llamado ''verificar'' sin una extensión. copia estas líneas en él:

file=/Users/youUserName/XcodeProjectName/Pods/BuildHeaders/SVProgressHUD/SVProgressHUD.h if [[ ! -e $file && -L $file ]]; then echo "$file symlink is broken!" else echo "symlink works" fi

Luego vaya a la terminal, cambie a la carpeta donde está ubicado su archivo de verificación y escriba

bash check


Lo que funcionó para mí fue seleccionar el proyecto Pods, encontrar y seleccionar el marco de destino con el encabezado faltante en el directorio objetivo del proyecto Pod y establecer "Construir arquitectura activa solamente" en "No" en "Arquitecturas" en la configuración de compilación del objetivo.


Ninguna de las respuestas me ayudó (tenía mis pods vinculados con todos los objetivos, las configuraciones de compilación se configuraron correctamente, corrigió las rutas de búsqueda "$ (heredado)", etc ...).

El problema desapareció por sí solo después de que actualicé cocoapods a la versión de depuración más nueva usando el comando de instalación / actualización estándar:

gem install cocoapods --pre

o:

sudo gem install cocoapods --pre

(si sudo fue utilizado durante la instalación).

Debe haber sido un error de cocoapods.


Resolví este problema para Xcode 8.2.1 arrastrando y soltando el marco que quiero usar.


Si ninguno de los anteriores funcionó para usted y está encontrando este error porque acaba de cambiar a use_frameworks! en tu Podfile, sigue leyendo:

Intenté todas las soluciones anteriores y mucho más antes de saber que no se trata de rutas de encabezado de búsqueda en mi caso particular; ¡es eso cuando use_frameworks! a use_frameworks! en su Podfile ya no necesita incluir marcos en su encabezado de puente, y de hecho Xcode arrojará el muy poco útil error "no se puede encontrar el encabezado".

Lo que debe hacer es eliminar todas las importaciones de su archivo de encabezado de puente y, en su lugar, usar el import Module Swift en sus archivos Swift individuales según sea necesario, al igual que lo haría con los marcos Swift.

Y si está utilizando alguno de los encabezados del framework en sus clases Obj-C (en mi caso tenemos una clase de conveniencia que usó el FBSDK), necesita cambiarlo de una importación local a global (esto significa cambiar el #import "Module.h" to #import <Module/Module.h> , que debería completarse #import <Module/Module.h> cuando comienzas a escribir el nombre del framework. En mi caso fue <AFNetworking/AFHTTPRequestOperationManager.h> ).

Editar: Desde entonces, aprendí que al hacer un @import Module usa el archivo paraguas, que es aún más seguro.


Si tuvo los errores de construcción después de una " instalación de pod " o una " actualización de pod ", es posible que uno de sus pods haya sido creado con XCode 6.3 mientras todavía está utilizando una versión anterior.

En mi caso, tuve que actualizar mi OSX de Mavericks a Yosemite para tener Xcode 6.3 y resolver el problema


Tengo el mismo problema, pero las soluciones anteriores no pueden funcionar. Lo he arreglado al hacer esto:

  1. Eliminar todo el proyecto
  2. Ejecute git clone el proyecto y ejecute el paquete exec pod install
  3. cd the peoject y ejecute remote add upstream your-remote-rep-add
  4. git buscar aguas arriba
  5. GIT Checkout Master
  6. git merge upstream / master

Y luego funciona.


Tuve que descargar el archivo zip de git hub y arrastrar los archivos que faltan al Finder en las rutas correspondientes en Pod / ...


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 de su proyecto:

pod install


para mí, el problema estaba en el valor de banderas de Otro Enlazador. Por alguna razón no tuve citas en indicadores como -l"xml2" -l"Pods-MBProgressHUD" .


Actualizar

He actualizado esto desde mi respuesta original, que obtuvo el voto negativo, así que espero que esto ayude. Y si lo hace, espero que me devuelva mi voto.

Si los encabezados no se importan, probablemente tenga un conflicto en HEADER_SEARCH_PATHS . Pruebe y agregue $(inherited) a las rutas de búsqueda de encabezado en sus Configuraciones de compilación para asegurarse de que atraiga todas las rutas de búsqueda incluidas en el archivo .xcconfig de sus CocoaPods.

Esto debería ayudar con cualquier conflicto y obtener su fuente importada correctamente.


Actualizar

Asegúrese de que su Podfile incluya link_with en los objetivos que faltan un archivo de configuración. Cocoapods solo establece el primer objetivo por defecto de lo contrario. p.ej

platform :osx, ''10.7'' pod ''JSONKit'', ''~> 1.4'' link_with ''Pomo'', ''Pomo Dev'', ''Pomo Tests''

------ Fin de la actualización

Nota: Tenga en cuenta que debe buscar en Project-> Info-> Configurations para conocer los pasos a continuación.

Tuve síntomas similares y descubrí que el archivo pods.xcconfig no se incluía en el target específico que estaba tratando de compilar. Algunas de las otras soluciones sugeridas me funcionaron, pero esta parecía abordar parte del problema subyacente.

La solución simple fue cambiar el conjunto del archivo de configuración para los objetivos que no tenían un conjunto.