ios what dyld: Biblioteca não carregada: @ rpath/libswiftCore.dylib




what is xcode (24)

Eu estou tentando executar um aplicativo Swift no meu iPhone 4s. Funciona bem no simulador, e meu amigo pode executá-lo com sucesso em seu iPhone 4s. Eu tenho o iOS 8 e o lançamento oficial do Xcode 6.

eu tentei

  • Reiniciando o Xcode, iPhone, computador
  • Limpeza e reconstrução
  • Revogando e criando novo certificado / perfil de provisão
  • Caminhos de pesquisa de Runpath é $(inherited) @executable_path/Frameworks
  • Conteúdo Incorporado Contém Código Swift é 'Sim'
  • Code Signing Identity é desenvolvedor

Abaixo está o erro na totalidade

dyld: Library not loaded: @rpath/libswiftCore.dylib
  Referenced from: /private/var/mobile/Containers/Bundle/Application/LONGSERIALNUMBER/AppName.app/AppName
  Reason: no suitable image found.  Did find:
    /private/var/mobile/Containers/Bundle/Application/LONGSERIALNUMBER/AppName.app/Frameworks/libswiftCore.dylib: mmap() error 1 at
address=0x008A1000, size=0x001A4000 segment=__TEXT in Segment::map() mapping
/private/var/mobile/Containers/Bundle/Application/LONGSERIALNUMBER/APPLICATION_NAME/Frameworks/libswiftCore.dylib

No Xcode 8, a opção para a opção Embedded Content Contains Swift Code não está mais disponível.

Ele foi renomeado para "Always Embed Swift Standard Libraries = YES"


Eu resolvi, excluindo os dados derivados e desta vez funcionou corretamente. Tentei com Xcode 7.3.1GM


As soluções acima não funcionaram para mim. Eu corrijo o problema seguindo os seguintes passos:

  1. Eu tive que ir ao telefone (Configurações> Perfil) e excluir os perfis que estavam no telefone (incluindo todos os aplicativos associados a esses perfis / provisões).
  2. Depois disso, certifique-se de baixar as provisões da apple no xcode. Vá para configurações de xcode> conta e faça login na sua conta de desenvolvedor da Apple.

Nenhuma dessas soluções parecia funcionar, mas quando mudei a permissão do World Wide Developer para Use System defaults , funcionou. Eu incluí as etapas e screenshots no link abaixo

Gostaria de encorajá-lo a registrar o ticket no relatório de bug da Apple, como mencionado aqui como a Apple realmente deve resolver este erro enorme: https://.com/a/41401354/559760


Eu tenho várias versões do Xcode instaladas ao mesmo tempo. O framework foi construído com uma versão mais nova do Xcode. O aplicativo que eu tentei compilar foi com uma versão mais antiga do Xcode. Quando eu limpei e compilei a estrutura e o aplicativo com a mesma versão do Xcode, então as coisas funcionaram.


Eu estava tendo o mesmo problema depois de mudar para um novo mac, e depois de horas, tentando todas as respostas sugeridas nas perguntas, nada disso funcionou para mim.

A solução para mim foi instalar esse certificado ausente. http://developer.apple.com/certificationauthority/AppleWWDRCA.cer

Encontrei a resposta aqui. https://.com/a/14495100/976628


Para mim, tendo tentado tudo sem sucesso, o que funcionou foi remover @executable_path/Frameworks da Packaging section (não sei como ele chegou lá em primeiro lugar)


Estou usando o Xcode 8.3.3 e o Xcode 9.2. A solução para mim foi mudar o meu Xcode padrão de 8 para 9 usando o Xcode Select:

$ xcode-select --print-path

$ sudo xcode-select -switch /Aplicativos/Xcode-9.2.app

Edit: Na verdade, o que pareceu ajudar aqui foi que o Xcode 9.2 usou os dados derivados do Xcode 8.3.3. Não é uma solução, mas pelo menos me permite avançar com o meu trabalho.


Nenhuma das soluções funcionou para mim. Reiniciar o telefone consertou. Estranho, mas funcionou.


Eu acho que é um bug quando os certificados são gerados diretamente do Xcode. Para resolver (pelo menos no Xcode 6.1 / 6A1052d):

  1. vá para o site da Apple Developer, onde os certificados são gerenciados: https://developer.apple.com/account/ios/certificate/certificateList.action
  2. selecione seu (s) certificado (s) (que deve mostrar "Gerenciado pelo Xcode" em "Status") e "Revogar"
  3. siga as instruções aqui para gerar manualmente um novo certificado: https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/MaintainingCertificates/MaintainingCertificates.html#//apple_ref/doc/uid/TP40012582-CH31-SW32
  4. vá para Xcode> Preferências> Contas> [seu ID Apple]> clique duas vezes no nome da sua equipe> pressione o botão atualizar para atualizar certificados e perfis de provisionamento

No meu caso, era apenas o nome do meu alvo:

Eu o renomei assim: MyApp.Algo e o mesmo problema apareceram. Mas eu vi na janela Configurações de compilação, o nome do módulo do produto foi alterado assim MyApp-algo . Então, eu removi o ponto no meu nome de destino ( MyAppSomething ) e o problema desapareceu.


Para adicionar à solução de certificação de distribuição corporativa: você pode abrir o Keychain e inspecionar o certificado. Se houver algum texto em vermelho dizendo que a cadeia de confiança não pode ser verificada ou está sendo revogada, NÃO FUNCIONARÁ! No meu computador, nosso certificado de distribuição estava sendo revogado, embora o portal da web ainda o mostrasse válido. Recebemos um novo certificado de distribuição, que era verde (válido) em Keychain, e isso resolveu o problema.


A maneira mais fácil e fácil de ignorar: limpar e reconstruir.

Isso resolveu o problema depois de tentar as respostas acima e não deu certo.


Alterar os recursos de pods de cópia para o destino de:

"${SRCROOT}/Pods/Target Support Files/Pods-Wishlist/Pods-Wishlist-resources.sh"

para:

"${SRCROOT}/Pods/Target Support Files/Pods-Wishlist/Pods-Wishlist-frameworks.sh"

Para mim, nenhuma das soluções anteriores funcionou. Descobrimos que há um sinalizador "Incorporar rapidamente as bibliotecas padrão do Swift" nas Configurações de compilação que precisam ser definidas como SIM. Não foi por padrão!

Build Settings > Always Embed Swift Standard Libraries

Depois de definir isso, limpe o projeto antes de construir novamente.

Para os leitores interessados ​​alguma explicação A parte mais importante é:

defina a configuração de build Embedded Content Contains Swift Code (EMBEDDED_CONTENT_CONTAINS_SWIFT) como YES no seu aplicativo, como mostrado na Figura 2. Essa configuração de build, que especifica se o produto de um alvo incorporou conteúdo com código Swift, instrui o Xcode a incorporar bibliotecas padrão Swift no seu aplicativo quando definido para SIM.

A bandeira foi anteriormente chamada de Embedded Content Contains Swift Code


Comecei a receber esse erro quando removi:

@executable_path/Frameworks

de Runpath Search Paths nas minhas configurações de compilação. Substituir tudo consertou tudo de novo (graças a Deus pelo controle da fonte!)

Eu não sei como chegou lá, mas parece que é necessário que um binário encontre o tempo de execução do Swift.


Vamos projetar P está importando biblioteca personalizada L, então você deve adicionar L em

P -> Build Phases -> Embed Frameworks -> + . Isso funciona para mim.


Há muitas respostas lá, mas pode ser que minha resposta ajude alguém.

Eu estou tendo mesmo problema, meu aplicativo funciona bem no simulador mas no dispositivo caiu como eu almoços app e dá erro como acima. Eu tentei todas as respostas e soluções. Em Meu caso, Meu projeto estou tendo vários destinos. Eu criei um alvo B duplicado do alvo A. O alvo B funciona bem enquanto o alvo A caiu. Eu estou usando diferentes recursos de imagem para cada destino. Depois de pesquisar e fazer o google eu encontrei algo que pode ajudar alguém.

App parar de bater quando eu mudar o nome de Ativos de imagens de lançamento para ambos os aplicativos. Por exemplo, Target A Launch Image nome do recurso LaunchImage A. Alvo B Almoço Imagem do nome do recurso LaunchImage B e designada corretamente na guia Geral de cada destino. Meus aplicativos funcionam bem.


Surpreendentemente, tudo que fiz foi "Clean" meu projeto (shift + cmd + K) e funcionou. Parecia estar relacionado com o certificado embora.


Eu acho que a Apple já resumiu isso sob falhas de aplicativos Swift ao tentar fazer referência à biblioteca Swift libswiftCore.dylib

Citado em Technical Q & A QA1886 :

O aplicativo Swift falha ao tentar fazer referência à biblioteca Swift libswiftCore.dylib.

P: O que eu posso fazer sobre o erro de carregamento de libswiftCore.dylib no console do meu dispositivo que acontece quando tento executar o aplicativo do meu idioma Swift?

R: Para corrigir esse problema, você precisará assinar seu aplicativo usando certificados de assinatura de código com a UO (Unidade Organizacional de Assunto) definida como seu ID de equipe. Todos os certificados de desenvolvedor do iOS Enterprise e padrão que são criados após o lançamento do iOS 8 têm o novo campo de ID da equipe no local adequado para permitir que os aplicativos de idiomas do Swift sejam executados.

Geralmente, esse erro aparece no log do console do dispositivo com uma mensagem semelhante a uma das seguintes:

[....] [deny-mmap] mapped file has no team identifier and is not a platform binary:
/private/var/mobile/Containers/Bundle/Application/5D8FB2F7-1083-4564-94B2-0CB7DC75C9D1/YourAppNameHere.app/Frameworks/libswiftCore.dylib

Dyld Error Message:
  Library not loaded: @rpath/libswiftCore.dylib

Exception Type: EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000001, 0x0000000120021088
Triggered by Thread: 0

Referenced from: /private/var/mobile/Containers/Bundle/Application/C3DCD586-2A40-4C7C-AA2B-64EDAE8339E2/TestApp.app/TestApp
Reason: no suitable image found. Did find:
/private/var/mobile/Containers/Bundle/Application/C3DCD586-2A40-4C7C-AA2B-64EDAE8339E2/TestApp.app/Frameworks/libswiftCore.dylib: mmap() error 1 at address=0x1001D8000, size=0x00194000 segment=__TEXT in Segment::map() mapping /private/var/mobile/Containers/Bundle/Application/C3DCD586-2A40-4C7C-AA2B-64EDAE8339E2/TestApp.app/Frameworks/libswiftCore.dylib
Dyld Version: 353.5

Os novos certificados são necessários ao criar um arquivo e empacotar seu aplicativo. Mesmo se você tiver um dos novos certificados, apenas renunciar a um arquivo de aplicativo rápido existente não funcionará. Se ele foi criado com um certificado pré-iOS 8, você precisará criar outro arquivo.

Importante: tenha cuidado se precisar revogar e configurar um novo certificado de distribuição corporativa. Se você for um desenvolvedor corporativo interno, precisará ter cuidado para não revogar um certificado de distribuição que foi usado para assinar um aplicativo que qualquer funcionário da empresa ainda esteja usando como qualquer aplicativo assinado com esse certificado de distribuição empresarial. vai parar de funcionar imediatamente. O acima apenas se aplica aos certificados de distribuição empresarial. Certificados de desenvolvimento são seguros para revogar para desenvolvedores iOS padrão / empresariais.

Como os caras da AirSign state o problema raízes do atributo OU ausente no campo assunto do certificado In-House .

Assunto: UID = 269J2W3P2L, CN = Distribuição do iPhone: Nome da empresa, OU = 269J2W3P2L , O = Nome da empresa, C = FR

Eu tenho um certificado de desenvolvimento empresarial, criando um novo resolvido o problema.


Eu estou no Xcode 8.3.2. Para mim, o problema era que o certificado AppleWWDRCA estava no sistema e nas chaves de login. Removido ambos e, em seguida, adicionado apenas ao login keychain, agora ele corre bem novamente. 2 dias perdidos


Esta mensagem de erro também pode ser causada ao atualizar o Xcode (e subsequentemente para uma nova versão do Swift) e seu projeto usa uma estrutura construída / compilada com uma versão antiga / anterior do Swift.

Neste caso, reconstruir a estrutura e adicioná-la novamente corrigirá o problema.


Estou usando o Xcode 7.2. Se você tentou tudo acima e o erro ainda ocorre, tente excluir o certificado antigo do Keychain Access! É tão difícil finalmente consertar isso.


Comecei a receber esse erro semelhante para testar o acréscimo de um arquivo S3 usando serviços da AWS. Abaixo estava o erro. dyld: Biblioteca não carregada: @ rpath / AWSAutoScaling.framework / AWSAutoScaling

Eu procurei muito e acima de soluções também não são úteis para mim. O link abaixo me ajudou a resolver esse problema.

https://forums.developer.apple.com/thread/21292

Que diz para corrigir esse problema baixando novamente o WWDR (autoridade de certificação de relações de desenvolvedor da Apple Worldwide) .