dyld: Biblioteca não carregada: @rpath com iOS8




frameworks xcode6 (8)

Estou criando uma estrutura iOS com Xcode6 e iOS8. Quando vinculo isso a um aplicativo iOS e tento executá-lo no dispositivo, recebo este erro

dyld: Library not loaded: @rpath/FrameworkName.framework/FrameworkName
  Referenced from: /private/var/mobile/Containers/Bundle/Application/0F2C2461-A68B-4ABA-A604-B88E6E9D1BB1/AppName.app/AppName
  Reason: image not found

A configuração de construção 'Runpath Search Paths' para a estrutura é definida por padrão como

'@executable_path/Frameworks', '@loader_path/Frameworks'

Não encontrei nenhuma documentação relacionada a isso. Isso foi algo novo introduzido no Xcode6 e eu esperaria que ele funcionasse simplesmente incluindo a estrutura em qualquer aplicativo que fosse necessário.


A biblioteca que mostra não carregada mudou de obrigatório para opcional em binários e estruturas vinculadas. Está funcionando perfeitamente agora


Além das soluções acima, verifique novamente os caminhos das estruturas incluídas no seu aplicativo em

Configurações de compilação -> Caminhos de pesquisa -> Caminhos de pesquisa da estrutura


Eu instalei bibliotecas de terceiros usando o Cocoapods. Obtive o mesmo erro, tentei de tudo, mas finalmente percebi que não tinha use_frameworks! no meu arquivo pod.

Portanto, removemos a biblioteca atualmente instalada e adicionamos use_frameworks! linha no arquivo pod, reinstalou as bibliotecas e tudo funcionou para mim.


Eu também tive o mesmo tipo de problema em que não consegui iniciar o aplicativo e o aplicativo estava travando com a mensagem acima:

dyld: Biblioteca não carregada: @ rpath / FrameworkName.framework / FrameworkName Referenciado em: / private / var / mobile / Containers / Bundle / Application / xxxxxxxxxxxxxxxxxxx

Razão: imagem não encontrada

Aqui está minha abordagem que me ajudou a resolver esse erro:

1.Por favor, exclua seu aplicativo do dispositivo, limpe a compilação e reconstrua e execute no dispositivo.

2.Se as etapas acima não ajudarem, verifique as configurações abaixo:
Em "TARGET"> "Configurações de compilação"> "Caminhos de pesquisa do caminho de execução" e verifique os valores "$ (herdados)" e "@ executable_path / Frameworks", fique à vontade para adicionar, caso não existam.

Crie seu aplicativo e execute-o no dispositivo


Para mim, por causa do problema do SSL, eu havia definido meu desenvolvedor, certificados de distribuição no meu Mac (chaveiro) para 'Sempre confiar' em um dos meus outros projetos. Eu tive que alterá-los novamente para 'Usar padrões do sistema'. estava trabalhando para mim então !!


Problema resolvido usando esta resposta . De acordo com @ vladof81:

Na guia Geral do destino, há um campo Binários incorporados. Quando você adiciona a estrutura, a falha é resolvida.

A referência está here nos Fóruns de desenvolvedores da Apple.


Verifique se você pode encontrar a estrutura no contexto em:

Fases de construção> Estruturas de incorporação>

Se não, basta adicionar essa estrutura em "Incorporar estruturas" depois de adicionar essa estrutura na seção "Estruturas" do diretório do projeto.


Quando nenhuma dessas soluções funciona:

  1. (Opcional) Obtenha aqui um conhecimento claro sobre diferentes tipos de caminhos de pesquisa
  2. Verifique se os caminhos do arquivo .framework foram adicionados em Build Settings -> Framework Search Paths . Você pode manter todos os arquivos da estrutura em algum lugar no App/libs/ adicionar esta pasta e ativar recursivamente.
  3. Verifique se os caminhos dos arquivos .a foram adicionados em Build Settings -> Library Search Paths .





xcode6