dyld: Bibliothek nicht geladen: @ rpath / libswiftAVFoundation.dylib

106

Ich habe gerade auf Xcode 7 und Swift 2 aktualisiert und die mit dem Übergang verbundenen Fehler behoben. Ich habe endlich das Projekt erstellt, aber nach dem Startbildschirm erhalte ich die Fehlermeldung:

dyld: Bibliothek nicht geladen: @ rpath / libswiftAVFoundation.dylib Referenziert von: / var / mobile / Containers / Bundle / Application / ...
Grund: Kein geeignetes Bild gefunden. Fand: /private/var/mobile/Containers/Bundle/Application/.../Frameworks/libswiftAVFoundation.dylib: mmap () errno = 1 Überprüfung der ersten Seite von '/ private / var / mobile / Containers / Bundle / Application / ... / Frameworks / libswiftAVFoundation.dylib '

Ich habe diesen Fehler schon einmal gesehen, aber mit anderen Frameworks, und kann mein Problem nicht lösen. Gibt es eine Möglichkeit, dies zu umgehen, indem Sie mein Framework irgendwo hinzufügen?

Coracora
quelle
Ok, nachdem ich dieses Problem mehrmals hatte, ist dies das einzige, was für mich funktioniert hat. Ich bin mir nicht sicher, warum die anderen Lösungen dies nicht taten, aber ich habe die Anweisungen hier befolgt
coracora
6
Ich hatte dieses Problem, nachdem ich auf einen neuen Mac gewechselt war. Die Ursache war ein fehlendes Apple WWDR-Zwischenzertifikat.
Morten Holmgaard
Mögliches Duplikat von Grund: Kein passendes Bild gefunden.
Trojanfoe
Reinigen Sie einfach das Projekt und führen Sie es erneut aus
onmyway133

Antworten:

191

Versuchen Sie, das Projekt zu bereinigen, zu erstellen und dann auszuführen. Hat für mich gearbeitet.

mikebertiean
quelle
2
Hat bei mir nicht funktioniert, wegen eines ähnlichen Problems mit Swifty.json :(
Hatchmaster J
4
Hat für mich gearbeitet. Ich hatte dieses Problem, da mein Zertifikat widerrufen wurde. Jetzt ist es ok.
Adam Studenic
1
Vielen Dank für die Hilfe! Ich habe gerade mein iOS-Entwicklungszertifikat erneuert und war mit diesem frustrierenden Fehler konfrontiert. Es ist unglaublich, wie intuitiv die Fehler von xcode zu überprüfen sind ...
Gabcvit
1
Nachdem Sie einige Stunden damit verbracht hatten, verschiedene Lösungen in Xcode 10.2 auszuprobieren, funktionierte keine. Führen Sie das Projekt jedoch in Xcode 10.1 aus, und es hat funktioniert (Swift Standard Libraries immer in Ja einbetten). Auf meiner Suche nach der Lösung habe ich jemanden gelesen, der sagte, dass das Problem im Swift Compiler lag, vielleicht gibt es in 10.2 ein Problem.
Carlos Parada
54

In Xcode 8 wird die Build-Einstellung aktualisiert

Betten Sie Swift Standard Libraries immer in ein Yes ein

arbeitete für mich.

JulianM
quelle
Ich denke, das ist eine mögliche richtige Antwort. Aus Apple-Dokumenten. "Wenn Sie eine App erstellen, die Swift nicht verwendet, aber Inhalte wie ein Framework einbettet, das dies tut, nimmt Xcode diese Bibliotheken nicht in Ihre App auf." Referenz: developer.apple.com/library/content/qa/qa1881/_index .html
David Pettigrew
1
Ich versuche, ein altes Objective-C-Projekt (teilweise) in Swift umzuwandeln. Die Einstellung "Immer schnelle Standardbibliotheken einbetten" auf "Ja" hat dies für mich behoben.
Darrell Root
29

Keine der oben genannten Lösungen hat bei mir funktioniert. Am Ende war das Problem die Vertrauenseinstellungen meines Signaturzertifikats. Sie wurden auf "Immer vertrauen" gesetzt, was dieses Problem zu verursachen schien. Durch Zurückschalten "Systemeinstellungen verwenden" wurde das Problem für mich behoben.

In meinem Fall habe ich ursprünglich die Einstellungen für die Zertifikatsvertrauensstellung geändert, weil ich Probleme beim Erstellen aus der Ferne hatte. Ich konnte beide Probleme beheben, indem ich die Vertrauenseinstellungen global auf "Systemstandards verwenden" und für SSL auf "Immer zulassen" umstellte.

Hoffe das hilft jemandem.

Desmond
quelle
24

Wenn die als richtig markierte Antwort bei mir nicht funktioniert hat, habe ich Folgendes zu "Build-Einstellungen> Verknüpfen> Runpath-Suchpfade" hinzugefügt :

@executable_path/Frameworks
ArtisanC
quelle
7

Ich habe dieses Problem beim Versuch, mein Bereitstellungsprofil und mein App-Zertifikat zu entfernen. Dann haben alle meine schnellen Projekte dieses Problem. Nach fast einer Stunde stellte ich fest, dass das Projekt einfach gereinigt wurde durch:

Klicken Sie auf Produkt -> Reinigen (oder CMD- Shift-K )

Und die Projekte laufen normal.

nhoxbypass
quelle
6

Ähnliche Frage unten, die Antworten dort können etwas Hilfe bieten. dyld: Bibliothek nicht geladen: @ rpath / libswiftCore.dylib

Für mich war die einzige Lösung, die funktionierte, wie @ morten-holmgaard in seinem Kommentar vorgeschlagen hatte.

Ich habe auch versucht, das Flag "Eingebetteter Inhalt enthält schnellen Code" in den Build-Einstellungen auf "true" zu ändern, aber es hatte keine Auswirkung.

Bruno Coelho
quelle
2

Das Ändern der Build-Einstellungen -> "Eingebetteter Inhalt enthält Swift-Code" -Flag auf true / yes hat bei mir funktioniert.

Brian Ogden
quelle
2

Für das Framework, das ich unter OSX (MailCore2) verwende, musste ich meine Ziele festlegen

"Build-Einstellungen> Verknüpfen> Runpath-Suchpfade" zu @loader_path

Eine Lösung, die ich hier gefunden habe:

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

ghr
quelle
Der Artikel war hilfreich, danke! Keine der anderen Lösungen hier hat es für mich getan, aber ich konnte es endlich zum Laufen bringen, indem ich @rpathdie Runpath Search PathsLinker-Einstellung hinzufügte .
Catchinflux
2

Ich bin mit Xcode 9 auf dieses Problem gestoßen. Dies hat den Trick für mich getan:

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

ggs
quelle
1
Bin in xcode 10 darauf gestoßen und es hat auch funktioniert! Gut gemacht!
Petrosmm
1

Hierfür gibt es zwei Lösungen:

Lösung 1:

  1. Quit Xcode( cmd+ Q)
  2. Öffnen und Clean Project ( cmd+ shift+ k)
  3. Führen Sie nun das Projekt aus, das ordnungsgemäß funktionieren soll

Lösung 2:

Das Konsolenprotokoll selbst gibt an, dass der Dynamic Link Editor (dyld) keine Bibliothek laden kann. Um dies zu beheben, verwenden Sie die folgenden Schritte:

  1. Wählen Sie Project-> Build settings->
  2. Gehe zur Build optionsRegisterkarte -> Wähle ' Always Embed Swift Standard Libraries’bis' Yes'
  3. Führen Sie nun das Projekt aus, das ordnungsgemäß funktionieren soll

Screenshot mit Schritten

Jayprakash Dubey
quelle
0

Dies kann ein Problem mit Zertifikaten sein. Rufen Sie das Apple Developer Member Center auf und stellen Sie sicher, dass "Organisationseinheit" festgelegt ist in Ihrem Distributionsprofil .

Schauen Sie sich auch die Protokolle für den Text Deny-MMAP an , dies wird Ihnen wahrscheinlich weiter helfen.

Ich bin auf dieses Problem mit einer Xamarin-Anwendung für die Apple Watch gestoßen. Die Hauptanwendung und das Mono-Framework waren signiert und funktionierten, aber die Watchkit-Erweiterung wurde aufgrund des Dyld-Fehlers nicht geladen.

Windel
quelle