Não consigo me livrar desse erro!
Eu tentei todos os tipos de coisas como limpar Dados Derivados (Preferências-> Locais-> clique na seta cinza para abrir a pasta Dados Derivados no Finder-> clique com o botão direito, mover para o lixo), limpar o projeto (CMD + Shift + K ou Produto -> Limpar), atualizando cartago e dependências, verificou outras respostas no StackOverflow (principalmente ajustes em Configurações / fases de compilação) e reclonou o aplicativo do github, etc.
O mesmo projeto funciona nos computadores dos meus colaboradores.
EDIT: A partir da resposta mais bem avaliada atual, consegui depurar um pouco mais ... Ainda não tenho certeza de como consertar. Parece que tenho algo no projeto duas vezes? Eu olhei e não consigo encontrar nada aparecendo duas vezes!
Respostas:
Eu estava enfrentando o mesmo problema hoje no xcode 8 versão 8.3.2
clique com o botão direito no problema -> revelar no log
então você pode verificar o que está causando esse problema
fonte
Talvez você instalou um arquivo pod e ainda está tentando compilar a partir do
.xcodeproj
arquivo em vez de.xcworkspace
fonte
.xcodeproj
por mais de um ano .. Algo tão simples!a única coisa que funcionou para mim foi correr
pod deintegrate
epod install
fonte
você tentou uma limpeza? cmd + shift + k
fonte
Ok ... Então aqui está o que resolveu meu problema ...
no arquivo App Delegate:
Eu importei Credentials.h já no arquivo DarkSkyAPI.m no meu projeto. Comentar a importação extra eliminou o erro!
Algumas coisas para mencionar e talvez ajudar alguém no futuro. A resposta de @ umairqureshi_6 ajudou-me no processo, mas não o resolveu. Ele me levou até onde eu consegui encontrar a informação. Eu continuava vendo os arquivos AppDelegate e DarkSkyAPI aparecendo no log de erros e as informações que ele extraía do arquivo de credenciais estavam causando o erro. Eu sabia que deveria estar em um desses 3 arquivos, então verifiquei imediatamente as importações, porque me lembrei de ouvir que o .h carrega todas as importações de seu arquivo .m. Estrondo!
fonte
Eu sei que a pergunta já foi respondida. Mas se isso ajuda alguém a economizar tempo: eu tive o mesmo erro. Verifiquei tudo para encontrar um erro muito pequeno e estúpido da minha parte. Importei um arquivo personalizado ManagedObject de dados principais em um controlador de visualização do meu projeto. Eu acidentalmente importei o arquivo .m em vez do arquivo .h que estava causando o símbolo duplicado no erro de arquitetura (o comando do vinculador falhou) porque meu arquivo .m da classe de propriedades importa o arquivo .h da classe de dados principais e, portanto, causando a importação duplicada.
Portanto, verifique se você importou os arquivos corretos antes de tentar várias soluções.!
fonte
Muitas soluções são mencionadas acima. Ninguém trabalhou para mim (mas tente acima primeiro).
Selecione Projeto -> Selecionar destino -> Estrutura e bibliotecas vinculadas -> Adicionar todas as bibliotecas de pod. (remova se eles existirem em binários incorporados)
Agora remova-os da pasta Framework no explorador de arquivos esquerdo do xcode.
Isso resolveu meu problema.
fonte
Selecione o projeto-> Build Phase-> Link Binary with library e adicione todas as bibliotecas de pod.
fonte
Eu tive o mesmo problema ao usar Cartago para dependências.
Basta ir para Selecionar Projeto -> Configurações de Compilação -> Pesquisar Habilitar Código de Bit -> Se estiver selecionado para Sim, selecione Não.
Isso resolveu esse problema para mim.
fonte
Eu tive o mesmo problema.
A causa foi que eu declarei a mesma variável global em 2 arquivos . Portanto, estava mostrando o mesmo erro dizendo 2 símbolos duplicados .
A solução foi remover essas variáveis.
fonte
Para qualquer um que tenha esse problema com a estrutura Flurry. Isso é o que resolveu meu problema. Para mim, o problema é que importei os arquivos a seguir, mas nunca os usei. "libFlurryTVOS_9.2.3" "libFlurryWatch_9.2.3"
Então, tudo que tive que fazer foi ir para as configurações de destino do projeto e remover esses 2 arquivos da seção "Framework e bibliotecas vinculadas" e o problema foi resolvido.
fonte
No meu caso, o motivo do erro é a biblioteca que foi vinculada duas vezes.
Eu uso
react-native
então ele foi linkado automaticamente usandoreact-native link
e manualmente no xcode.fonte
Certifique-se de que a
Find Implicit Dependencies
caixa de seleção esteja marcada.(Produto -> Esquema -> Editar Esquema -> Construir -> Encontrar Dependências Implícitas)
fonte
Eu estava testando a estrutura Sparkle com CocoaPods.
Infelizmente, coloquei
pod 'Sparkle', '~> 1.21'
o PodFile no lugar errado. Eu coloquei abaixo de Teste (para testes de unidade).Depois de colocado no local correto no PodFile, está tudo bem.
fonte
Eu só tinha que fazer
import Foundation
!Eu estava usando o Kitura para o servidor Swift e sempre me esquecia disso!
fonte
Aqui está meu problema e solução:
Removi dois arquivos do código-fonte usando a árvore de origem (controlador de versão). Depois de aplicar o diff, que contém as duas classes que removi, o Xcode não o adicionou automaticamente. Então, recebi um erro de vinculador.
Eu adicionei os arquivos manualmente, clicando com o botão direito no nome do grupo e selecione "Adicionar arquivos a". Agora meu erro foi resolvido.
Se alguém encontrou o erro do vinculador em relação ao arquivo de classe, tente adicioná-lo manualmente.
fonte
Não tive esse problema quando criei e executei em meu próprio dispositivo. Só tive esse problema com simuladores. Simplesmente reiniciei meu computador e o executei. Funcionou.
fonte
No meu caso mudei o
Target
nome no meuPodfile
Então é criar o mesmo erro para mim.Basta ir
project-> Build Phase->Link Binary with libraries
Remover o antigoFrameWorks
clicando emminus button(-)
E limpar e executar novamente. É trabalhar comigo.Remova indesejados
.framework
.fonte
As outras respostas não funcionaram para mim, então aqui eu compartilho minha solução, caso possa ajudar outra pessoa:
Meu problema é que estava configurando o Podfile do meu projeto XCode para a plataforma errada. Alterar "platform: ios" no início do meu Podfile para "platform: macos" funcionou para me livrar do erro.
fonte
Eu tive o mesmo problema. Se você estiver fazendo check-out de qualquer projeto github, em vez de usar git clone, use git lfs clone, pois às vezes alguns arquivos grandes não são clonados apropriadamente usando apenas git. Além disso, certifique-se de que seu código de bits esteja desativado.
fonte
Para mim, o arquivo gem lock estava especificando uma versão mais antiga do cocoapods do que a que eu tinha instalado. Tive que ramificar novamente e executar em
bundle exec pod install
vez depod install
fonte
Parece que o problema é diferente para a maioria de nós, e a mensagem de erro tem informações decentes. No meu caso, a meta de implantação foi definida para
10.13
perto daexport MACOSX_DEPLOYMENT_TARGET=10.13
linha, mas eu estava correndo10.14
. Portanto, tive que mudar meu Deployment Target para10.14
em Geral> Deployment Info, para que os símbolos relacionados à ITLibrary estivessem disponíveis novamente.fonte
No meu caso, eu estava produzindo vários produtos do mesmo projeto. Para um dos produtos, o
main.m
arquivo importou um arquivo de cabeçalho de outra pasta no mesmo projeto. Mas esse arquivo não foi incluído em "Fontes compiladas" em "Fase de construção". Isso causou um erro de vinculador.Após comparar cuidadosamente as configurações de "Build Phases" de um produto que poderia ser construído com sucesso, percebi que o
.m
arquivo do cabeçalho precisa ser incluído na lista de "Compiled Source". Meu problema foi resolvido depois de adicionar esse arquivo. Anexando uma imagem para maior clareza. O arquivo destacado teve que ser adicionado.fonte
Tive os mesmos problemas ao fazer uma compilação do projeto Ionic 1.
Consegui resolver o problema após excluir o arquivo CDVLogger.h & CDVLogger.m
fonte
Ok, eu tive o mesmo problema hoje e comecei a pesquisar no Google, quando me deparei com este tópico. Não terminei de ler a pergunta quando a resposta me ocorreu: declarei uma classe com um construtor vazio
Então pensei por que não encerrar (não tenho certeza se estou correto com a seleção de palavras aqui, mas quem se importa) o construtor da minha classe com chaves (
{}
). Então eu fiz:Eliminado o problema, meu código começou a funcionar perfeitamente.
Eu sei, a boa prática é investigar o problema e encontrar a causa real, mas funcionou para mim.
fonte