Eu incorporei SpatialIite
em um projeto Xcode que usa um arquivo de cabeçalho Proj.4
, apenas um cabeçalho. Ambos são projetos Xcode e têm destinos estáticos.
Estou tentando migrar do submódulo git para o Cocoapods. Como alvos estáticos parecem difíceis de usar com Cocoapods, eu só quero que o projeto seja construído da maneira usual. Eu fiz podspec para Proj.4
. Depois de escrever podfile SpatialLite
, recebi os avisos:
[!] 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.
Eu li esse problema, mas não sei o que significam os avisos e o que posso fazer para corrigi-lo.
Além disso, quando abro a área de trabalho e abro o projeto SpatiaLite sozinho, ambos são direcionados ao Mac OSX 64, quando supõe-se que seja um projeto iOS. Meu podfile diz "platform: ios".
Respostas:
Definitivamente, isso funciona na maioria das vezes:
Vá para as Configurações de construção de destino -> Outros sinalizadores de vinculador -> clique duas vezes. Adicione
$(inherited)
a uma nova linha.Se você tiver problemas com "... target substitui a configuração de compilação GCC_PREPROCESSOR_DEFINITIONS definida em ...", adicione $ (herdado) às configurações de compilação de destino -> Macros do pré-processador
fonte
GCC_PREPROCESSOR_DEFINITIONS
configuração de construção definidos no ...", então você deve adicionar $ (herdado) para suas Configurações de destino de compilação -> Preprocessor Macros$(inherited)
já está lá na linha superior, mas não funciona para mim: /Há um conflito entre as configurações de compilação e as configurações padrão que o Cocoapods deseja. Para ver as configurações de compilação do Cocoapods, visualize o (s) arquivo (s) .xcconfig em Pods / Arquivos de suporte ao destino / Pods - $ {PROJECTNAME} / em seu projeto. Para mim, este arquivo contém:
Se você estiver satisfeito com as configurações do Cocoapods, vá para Build Settings do seu projeto, encontre a configuração apropriada e pressione a tecla Delete. Isso usará a configuração do Cocoapods.
Por outro lado, se você tiver uma configuração personalizada que precise usar, adicione $ (herdado) a essa configuração.
fonte
Eu vi esses 3 erros para o comando pod no terminal
Todos esses três erros desapareceriam adicionando $ (herdado) a
em Projeto -> Destino -> Configurações de compilação
E agora o comando seria executado sem dar erros
fonte
Other Linker Flags
não era suficiente.No seu projeto, encontre
Target -> Build Settings -> Other Linker Flags
, selecioneOther Linker Flags
, pressionedelete
(Teclado Mac) /Backspace
(Teclado normal) para recuperar a configuração. Funciona para mim.Exemplo:
Antes
Depois de
fonte
Só tive um problema semelhante ao executar
pod install
, vi os seguintes avisos / erros (relacionados aCLANG_CXX_LIBRARY
):O erro / aviso do Cocoapods
O conserto
Project
para poder ver oBuild Settings
.Target
(AppName
emTargets
)C++ Standard Library
(provavelmente será em Negrito - Isso significa que foi substituído).A linha não deve mais ficar em negrito e se você executar
pod install
os avisos / erros deverão ter desaparecido.Ajuda visual
fonte
Se o Xcode reclamar ao vincular, por exemplo, Biblioteca não encontrada para -lPods, ele não detectará as dependências implícitas:
Vá para Produto> Editar esquema Clique em Compilar Adicionar a biblioteca estática de Pods Limpar e compilar novamente
fonte
Para mim, o problema estava nos meus testes de metas. Eu já tinha a
$(inherited)
bandeira no meu destino principal do aplicativo.Eu o adicionei aos sinalizadores MyAppTests Other Linker. Depois disso, quando corri,
pod install
a mensagem de aviso sumira.fonte
A primeira linha do link abaixo salvou meu dia:
https://github.com/CocoaPods/CocoaPods/wiki/Creating-a-project-that-uses-CocoaPods#faq
Além disso, não esqueça de inserir esta linha no início do seu arquivo pod:
fonte
Adicionei $ (herdado), mas meu projeto ainda não estava sendo compilado. Para mim, o problema era sinalizador "Construir apenas para arquitetura ativa", tive que defini-lo como SIM.
fonte