Lo he incorporado SpatialIite
a 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_DEFINITIONS
configuració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 Flags
no 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
Project
para que pueda ver elBuild Settings
.Target
(AppName
debajoTargets
)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 install
las 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 install
el 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