dyld: Bibliothèque non chargée: @ rpath / libswiftAVFoundation.dylib

106

Je viens de mettre à jour vers Xcode 7 et swift 2 et j'ai fini de corriger les erreurs qui accompagnent la transition. J'ai finalement eu le projet à construire, mais après l'écran de lancement, j'obtiens une erreur disant:

dyld: Bibliothèque non chargée: @ rpath / libswiftAVFoundation.dylib Référencé à partir de: / var / mobile / Containers / Bundle / Application / ...
Raison: aucune image appropriée trouvée. J'ai trouvé: /private/var/mobile/Containers/Bundle/Application/.../Frameworks/libswiftAVFoundation.dylib: mmap () errno = 1 validant la première page de '/ private / var / mobile / Containers / Bundle / Application / ... / Frameworks / libswiftAVFoundation.dylib '

J'ai déjà vu cette erreur, mais avec d'autres frameworks, et je ne peux pas résoudre mon problème. Existe-t-il un moyen de contourner cela en ajoutant mon framework quelque part?

coracora
la source
Ok donc après avoir eu ce problème plusieurs fois, c'est la seule chose qui a fonctionné pour moi. Je ne sais pas pourquoi les autres solutions ne l'ont pas fait, mais j'ai suivi les instructions ici: stackoverflow.com/a/32730393/3474814
coracora
6
J'ai eu ce problème après avoir migré vers un nouveau mac. La cause était un certificat intermédiaire Apple WWDR manquant.
Morten Holmgaard
Copie possible de Raison: aucune image appropriée trouvée.
trojanfoe
Nettoyez simplement le projet et exécutez à nouveau
onmyway133

Réponses:

191

Essayez de nettoyer, de générer et d'exécuter le projet. A travaillé pour moi.

mikebertiean
la source
2
Cela n'a pas fonctionné pour moi, pour un problème similaire avec Swifty.json :(
Hatchmaster J
4
A travaillé pour moi. J'ai eu ce problème depuis que mon certificat a été révoqué. Maintenant c'est bon.
Adam Studenic
1
Merci beaucoup pour l'aide! Je viens de renouveler mon certificat de développement iOS et j'étais confronté à cette erreur frustrante. C'est incroyable à quel point les erreurs de xcode ne sont PAS intuitives à inspecter ...
Gabcvit
1
Après avoir passé quelques heures à essayer différentes solutions dans Xcode 10.2, aucune n'a fonctionné. Mais exécutez le projet dans Xcode 10.1 et cela a fonctionné (Always Embed Swift Standard Libraries to Yes). Dans ma recherche de la solution, j'ai lu quelqu'un disant que le problème était dans le compilateur Swift, peut-être dans 10.2 il y a un problème.
Carlos Parada
54

Dans Xcode 8, mise à jour du paramètre de construction

Toujours incorporer les bibliothèques standard Swift sur Oui

travaillé pour moi.

JulianM
la source
Je pense que c'est une réponse correcte possible. À partir de la documentation Apple. "Si vous créez une application qui n'utilise pas Swift mais qui intègre du contenu tel qu'un framework qui le fait, Xcode n'inclura pas ces bibliothèques dans votre application." Référence: developer.apple.com/library/content/qa/qa1881/_index .html
David Pettigrew
1
J'essaye de convertir un ancien projet objective-C (en partie) en swift. Définir "toujours incorporer les bibliothèques standard swift" sur oui l'a corrigé pour moi.
Darrell Root
29

Aucune des solutions ci-dessus n'a fonctionné pour moi. En fin de compte, le problème était les paramètres de confiance de mon certificat de signature. Ils ont été définis sur "Toujours faire confiance", ce qui semble être à l'origine de ce problème. Le réactiver "Utiliser les paramètres par défaut du système" l'a corrigé pour moi.

Dans mon cas, j'ai initialement modifié les paramètres de confiance des certificats parce que j'avais des problèmes de construction à distance. J'ai pu résoudre les deux problèmes en basculant les paramètres de confiance sur «Utiliser les paramètres par défaut du système» globalement et «Toujours autoriser» pour SSL.

J'espère que cela aide quelqu'un.

desmond
la source
24

Lorsque la réponse marquée comme correcte ne fonctionnait pas pour moi, j'ai ajouté ce qui suit à "Paramètres de construction> Liaison> Chemins de recherche de chemin" :

@executable_path/Frameworks
ArtisanC
la source
7

J'ai rencontré ce problème en essayant de supprimer mon profil d'approvisionnement et mon certificat d'application. Alors tous mes projets rapides ont ce problème. Après presque une heure, j'ai trouvé que nettoyer simplement le projet en:

Cliquez sur Produit -> Nettoyer (ou CMD- Shift- K)

Et les projets se dérouleront normalement.

nhoxbypass
la source
6

Question similaire ci-dessous, les réponses peuvent offrir une aide. dyld: Bibliothèque non chargée: @ rpath / libswiftCore.dylib

Pour moi, la seule solution qui a fonctionné était comme @ morten-holmgaard l'a suggéré dans son commentaire.

J'ai également essayé de changer l'indicateur «Contenu incorporé contient du code Swift» sur true dans les paramètres de construction, mais cela n'a eu aucun effet.

Bruno Coelho
la source
2

Changer les paramètres de construction -> "Le contenu intégré contient du code Swift" sur true / yes a fonctionné pour moi.

Brian Ogden
la source
2

Pour le framework que j'utilise sur OSX (MailCore2), j'ai dû définir ma cible

«Paramètres de construction> Liaison> Chemins de recherche de chemin d’exécution» vers @loader_path

une solution que j'ai trouvée ici:

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

ghr
la source
L'article a été utile, merci! Aucune des autres solutions ici ne l'a fait pour moi, mais j'ai finalement pu le faire fonctionner en ajoutant @rpathau Runpath Search Pathsparamètre de l' éditeur de liens.
catchinflux
2

J'ai rencontré ce problème avec Xcode 9. Cela a fait l'affaire pour moi:

Project > Build Settings > Swift Compiler - Search Path: Setting "Import Paths"à $(PROJECT_DIR)(récursif)

ggs
la source
1
Ran dedans dans xcode 10 et cela a fonctionné aussi bien! Bon travail!
petrosmm
1

Il existe deux solutions pour cela:

Solution 1:

  1. Quit Xcode( cmd+ Q)
  2. Ouvert et Clean Project ( cmd+ shift+ k)
  3. Maintenant, exécutez le projet qui devrait fonctionner correctement

Solution 2:

Le journal de la console lui-même indique que l'éditeur de lien dynamique (dyld) ne peut pas charger la bibliothèque. Afin de résoudre ce problème, utilisez les étapes ci-dessous:

  1. Sélectionnez Project-> Build settings->
  2. Aller à l' Build optionsonglet -> Sélectionnez ' Always Embed Swift Standard Libraries’à' Yes'
  3. Maintenant, exécutez le projet qui devrait fonctionner correctement

Capture d'écran avec étapes

Jayprakash Dubey
la source
0

Cela peut être un problème avec les certificats. Accédez au centre des membres développeurs Apple et assurez-vous que "Unité organisationnelle" est définie dans votre profil de distribution.

Jetez également un œil dans les journaux pour le texte deny-mmap , cela vous aidera probablement plus loin.

J'ai rencontré ce problème avec une application Xamarin pour l'Apple Watch. L'application principale et le framework Mono étaient signés et fonctionnaient, mais l'extension Watchkit ne s'est pas chargée en raison de l'erreur dyld.

Windel
la source