Lo he incorporado SpatialIitea un proyecto Xcode que usa un archivo de encabezado de Proj.4, solo un encabezado. Ambos son proyectos de Xcode y tienen objetivos estáticos.
Estoy tratando de migrar desde el submódulo git a Cocoapods. Dado que los objetivos estáticos parecen ser difíciles de usar con Cocoapods, solo quiero que el proyecto se construya de la manera habitual. Hice podspec para Proj.4. Después de escribir el podfile SpatialLite, recibí las advertencias:
[!] The target `SpatialiteIOS [Debug]` overrides the `OTHER_LDFLAGS` build setting defined in `Pods/Pods.xcconfig'.
- Use the `$(inherited)` flag, or
- Remove the build settings from the target.
[!] The target `SpatialiteIOS [Debug]` overrides the `HEADER_SEARCH_PATHS` build setting defined in `Pods/Pods.xcconfig'.
- Use the `$(inherited)` flag, or
- Remove the build settings from the target.
[!] The target `SpatialiteIOS [Debug - Release]` overrides the `OTHER_LDFLAGS` build setting defined in `Pods/Pods.xcconfig'.
- Use the `$(inherited)` flag, or
- Remove the build settings from the target.
[!] The target `SpatialiteIOS [Debug - Release]` overrides the `HEADER_SEARCH_PATHS` build setting defined in `Pods/Pods.xcconfig'.
- Use the `$(inherited)` flag, or
- Remove the build settings from the target.
Leí este problema, pero no tengo ni idea de lo que significan las advertencias y qué puedo hacer para solucionarlo.
Además, cuando abro el espacio de trabajo y abro el proyecto SpatiaLite solo, ambos están dirigidos a Mac OSX 64, cuando se supone que es un proyecto iOS. Mi podfile dice "plataforma: ios".

Respuestas:
Esto definitivamente funciona la mayor parte del tiempo:
Vaya a la Configuración de compilación de destino -> Otras banderas de enlace -> haga doble clic. Agregar
$(inherited)a una nueva línea.Si tiene un problema con "... target anula la configuración de compilación GCC_PREPROCESSOR_DEFINITIONS definida en ...", entonces debe agregar $ (heredado) a su configuración de compilación de destino -> Macros de preprocesador
fuente
GCC_PREPROCESSOR_DEFINITIONSconfiguración de compilación definida en ...", entonces debe agregar $ (heredado) a su Configuración de compilación de destino -> Macros de preprocesador$(inherited)ya está allí en la línea superior, pero no funciona para mí: /Existe un conflicto entre la configuración de compilación y la configuración de compilación predeterminada que Cocoapods desea. Para ver la configuración de compilación de Cocoapods, vea los archivos .xcconfig en Pods / Target Support Files / Pods - $ {PROJECTNAME} / en su proyecto. Para mí este archivo contiene:
Si está satisfecho con la configuración de Cocoapods, vaya a Configuración de compilación para su proyecto, encuentre la configuración adecuada y presione la tecla Eliminar. Esto usará la configuración de Cocoapods.
Por otro lado, si tiene una configuración personalizada que necesita usar, agregue $ (heredado) a esa configuración.
fuente
He visto estos 3 errores para el comando pod en la terminal
Todos estos 3 errores desaparecerían agregando $ (heredado) a
en Proyecto -> Destino -> Configuración de compilación
Y ahora el comando se ejecutaría sin dar ningún error
fuente
Other Linker Flagsno era suficiente.En su proyecto, busque
Target -> Build Settings -> Other Linker Flags, seleccioneOther Linker Flags, presionedelete(Teclado Mac) /Backspace(Teclado normal) para recuperar la configuración. Esto funciona para mi.Ejemplo:
antes de
Después
fuente
Solo tuve un problema similar cuando corrí
pod install, vi las siguientes advertencias / errores (relacionados conCLANG_CXX_LIBRARY):El Error / Advertencia de Cocoapods
La solución
Projectpara que pueda ver elBuild Settings.Target(AppNamedebajoTargets)C++ Standard Library(probablemente estará en negrita ; esto significa que se anula).La línea ya no debería estar en negrita y si ejecuta
pod installlas advertencias / errores debería haber desaparecido.Ayuda visual
fuente
Si Xcode se queja al vincular, por ejemplo, Biblioteca no encontrada para -lPods, no detecta las dependencias implícitas:
Vaya a Producto> Editar esquema Haga clic en Construir Agregue la biblioteca estática Pods Limpie y vuelva a compilar
fuente
Para mí, el problema era con mis pruebas de objetivos. Ya tenía la
$(inherited)bandera en el objetivo principal de mi aplicación.Lo agregué a MyAppTests Otras banderas de Linker. Después de eso, cuando corrí,
pod installel mensaje de advertencia desapareció.fuente
La primera línea de enlace a continuación me salvó el día:
https://github.com/CocoaPods/CocoaPods/wiki/Creating-a-project-that-uses-CocoaPods#faq
Además, no olvide insertar esta línea al comienzo de su archivo pod:
fuente
Agregué $ (heredado) pero mi proyecto aún no se estaba compilando. Para mí, el problema era la marca "Construir solo para arquitectura activa", tuve que establecerlo en SÍ.
fuente