dyld: Biblioteca não carregada: @ rpath / libswiftAVFoundation.dylib

106

Acabei de atualizar para o Xcode 7 e swift 2 e terminei de corrigir os erros que vêm com a transição. Finalmente consegui construir o projeto, mas após a tela de inicialização, recebo um erro dizendo:

dyld: Biblioteca não carregada: @ rpath / libswiftAVFoundation.dylib Referenciado em: / var / mobile / Containers / Bundle / Application / ...
Motivo: nenhuma imagem adequada encontrada. Encontrou: /private/var/mobile/Containers/Bundle/Application/.../Frameworks/libswiftAVFoundation.dylib: mmap () errno = 1 validação da primeira página de '/ private / var / mobile / Containers / Bundle / Application / ... / Frameworks / libswiftAVFoundation.dylib '

Já vi esse erro antes, mas com outras estruturas, e não consigo resolver meu problema. Existe uma maneira de contornar isso adicionando minha estrutura em algum lugar?

Coracora
fonte
Ok, depois de ter esse problema várias vezes, essa é a única coisa que funcionou para mim. Não sei por que as outras soluções não, mas segui as instruções aqui: stackoverflow.com/a/32730393/3474814
coracora
6
Tive esse problema depois de mudar para um novo mac. A causa era a falta de um certificado intermediário Apple WWDR.
Morten Holmgaard,
Possível duplicata do Motivo: nenhuma imagem adequada encontrada.
trojanfoe
Limpe o projeto e execute novamente
onmyway133

Respostas:

191

Tente limpar, construir e depois executar o projeto. Funcionou para mim.

Mikebertiean
fonte
2
Não funcionou para mim, para um problema semelhante com Swifty.json :(
Hatchmaster J
4
Funcionou para mim. Tive esse problema desde que meu certificado foi revogado. Agora está tudo bem.
Adam Studenic
1
Muito obrigado pela ajuda! Acabei de renovar meu certificado de desenvolvimento iOS e estava enfrentando este erro frustrante. É incrível como os erros do xcode NÃO são intuitivos de inspecionar ...
Gabcvit
1
Depois de passar algumas horas tentando soluções diferentes no Xcode 10.2, nenhuma funcionou. Mas execute o projeto no Xcode 10.1 e funcionou (Always Embed Swift Standard Libraries para Yes). Na minha busca pela solução li alguém dizendo que o problema estava no Compilador Swift, talvez no 10.2 haja um problema.
Carlos Parada
54

No Xcode 8 atualizando a configuração de compilação

Sempre incorporar bibliotecas padrão Swift para sim

trabalhou para mim.

JulianM
fonte
Acho que essa é uma possível resposta correta. Dos documentos da Apple. "Se você estiver criando um aplicativo que não usa Swift, mas incorpora conteúdo como uma estrutura que usa, o Xcode não incluirá essas bibliotecas em seu aplicativo." Referência: developer.apple.com/library/content/qa/qa1881/_index .html
David Pettigrew
1
Estou tentando converter um projeto antigo de objetivo-C (parcialmente) em rápido. Definir "sempre incorporar bibliotecas padrão rápidas" como sim corrigiu para mim.
Darrell Root
29

Nenhuma das soluções acima funcionou para mim. No final das contas, o problema eram as configurações de confiança do meu certificado de assinatura. Eles foram definidos como "Sempre confiar", o que parecia causar esse problema. Voltar para "Usar padrões do sistema" corrigiu para mim.

No meu caso, alterei originalmente as configurações de confiança certs porque tive problemas ao construir remotamente. Consegui corrigir os dois problemas alternando as configurações de confiança para "Usar padrões do sistema" globalmente e "Sempre permitir" para SSL.

Espero que isso ajude alguém.

Desmond
fonte
24

Quando a resposta marcada como correta não funcionou para mim, adicionei o seguinte a "Build Settings> Linking> Runpath Search Paths" :

@executable_path/Frameworks
ArtisanC
fonte
7

Tive este problema ao tentar remover meu perfil de provisionamento e certificado de aplicativo. Então, todos os meus projetos rápidos têm esse problema. Depois de quase uma hora, descobri que simplesmente limpe o projeto:

Clique em Produto -> Limpar (ou CMD- Shift- K)

E os projetos serão executados normalmente.

nhoxbypass
fonte
6

Pergunta semelhante abaixo, as respostas podem ajudar. dyld: Biblioteca não carregada: @ rpath / libswiftCore.dylib

Para mim, a única solução que funcionou foi como @ morten-holmgaard sugeriu em seu comentário.

Também tentei alterar o sinalizador "Conteúdo incorporado contém código Swift" para verdadeiro nas configurações de compilação, mas não teve efeito.

Bruno Coelho
fonte
2

Alterar as configurações de compilação -> sinalizador "Conteúdo incorporado contém código Swift" para verdadeiro / sim funcionou para mim.

Brian Ogden
fonte
2

Para o framework que estou usando no OSX (MailCore2) eu tive que definir o meu alvo

"Build Settings> Linking> Runpath Search Paths" para @loader_path

uma solução que encontrei aqui:

http://www.dribin.org/dave/blog/archives/2009/11/15/rpath/

ghr
fonte
O artigo foi útil, obrigado! Nenhuma das outras soluções aqui funcionou para mim, mas finalmente consegui fazê-lo funcionar adicionando @rpathà Runpath Search Pathsconfiguração do vinculador.
catchinflux
2

Tive esse problema com o Xcode 9. Isso funcionou para mim:

Project > Build Settings > Swift Compiler - Search Path: Setting "Import Paths"para $(PROJECT_DIR)(recursivo)

ggs
fonte
1
Corri para isso no xcode 10 e funcionou bem! Bom trabalho!
petrosmm
1

Existem duas soluções para isso:

Solução 1:

  1. Quit Xcode( cmd+ Q)
  2. Abrir e Clean Project ( cmd+ shift+ k)
  3. Agora, execute o projeto que deve funcionar corretamente

Solução 2:

O próprio log do console afirma que o editor de link dinâmico (dyld) não é capaz de carregar a biblioteca. Para corrigir esse uso, siga as etapas abaixo:

  1. Selecione Project-> Build settings->
  2. Vá para a Build optionsguia -> Selecione ' Always Embed Swift Standard Libraries’para' Yes'
  3. Agora, execute o projeto que deve funcionar corretamente

Captura de tela com etapas

Jayprakash Dubey
fonte
0

Isso pode ser um problema com certificados. Vá para o centro de membros do desenvolvedor da Apple e certifique-se de ter "Unidade Organizacional" definida em seu perfil de distribuição.

Também dê uma olhada nos logs do texto deny-mmap , isso provavelmente o ajudará mais.

Eu tive esse problema com um aplicativo Xamarin para o Apple Watch. O aplicativo principal e a estrutura Mono estavam assinados e funcionando, mas a extensão Watchkit não carregou devido ao erro dyld.

Windel
fonte