Ich führe meine App von xcode auf mein iOS-Gerät aus und erhalte diesen und einen schwarzen Bildschirm auf einem iOS-Gerät.
Konsolentext:
dyld: Library not loaded: @rpath/libswiftCore.dylib
Referenced from: /private/var/mobile/Containers/Bundle/Application/10DB2FE8-EF09-4857-B4AC-0DB2E4419D6F/App-Name.app/App-Name
Reason: image not found
(lldb)
Antworten:
Fügen Sie die folgende Zeile zu den Runpath-Suchpfaden Ihres Ziels hinzu.
@executable_path/Frameworks
your_target -> Build Settings -> Linking -> Runpath Search Paths
quelle
shift + cmd + k
@executable_path/Frameworks
@executable_path/../../Frameworks
(zusätzlich zu den$(CONFIGURATION_BUILD_DIR)
)Ich hatte das gleiche Problem. Am Ende habe ich das Framework an folgenden Stellen hinzugefügt:
General > Embedded Binaries
General > Linked Frameworks and Libraries
Build Phases > Link Binaries with Libraries
Die eingebetteten Binärdateien schienen der Schlüssel für mich zu sein.
quelle
Für mich hilft das Hinzufügen
@executable_path/Frameworks
von Runpath-Suchpfaden zum Projekt , nicht zum Ziel. your_project -> Build Settings -> Linking -> Runpath Search Pathsquelle
Keine der anderen Lösungen hat mir geholfen, aber alles wurde durch Löschen des Xcode- Verzeichnisses für abgeleitete Daten behoben .
quelle
Oh ja. Ich bin mit diesem Problem konfrontiert und habe Stunden mit der Lösung verbracht. Sie können versuchen, "Swift-Standardbibliotheken immer einbetten" unter "Build-Einstellungen"> "Build-Optionen" auf "Ja" zu setzen
(Vergessen Sie nicht, + cmd + K Ihr Projekt danach zu verschieben)
quelle
Ich musste "Eingebetteter Inhalt enthält Swift-Code" auf "Ja" ändern, damit meine Obj-C-App funktioniert, nachdem das eingebettete Obj-C-Framework mit einem Swift-Objekt aktualisiert wurde.
quelle
Gehen Sie im Framework-Ziel ( nicht im App-Ziel ) zu Build-Einstellungen> Build-Optionen> Standard-Swift-Bibliotheken immer in JA einbetten.
Dies löste das Problem für mich!
quelle
Ich hatte diesen Fehler in einem Befehlszeilenprojekt (Xcode 10.2 und macOS 10.14.3)
Die Lösung bestand darin, auf macOS 10.14.4 zu aktualisieren
Aus Swift 5 Versionshinweisen für Xcode 10.2
quelle
In meinem Fall tritt dieses Problem im Objective-c-Projekt auf, in dem ich ein Swift-Framework (AirWatch SDK) verwende.
Lösungen: Ich habe dieses Problem mit Xcode 9.3 und 11.0.1 iOS wie folgt behoben:
Setzen Sie in Ihren Build-Einstellungen die Option "Schnelle Standardbibliotheken immer einbetten" auf " Ja" .
Legen Sie den Unterpfad fest und wählen Sie das Ziel als Framework für Ihr hinzugefügtes Framework unter Build-Phasen> Frameworks einbetten aus (siehe Abbildung).
Hoffe es wird jemandem helfen.
quelle
Ich habe das gleiche Problem festgestellt: Durch Festlegen der richtigen Codezeichenidentität wurde das Problem behoben (Build-Einstellungen-> Codezeichenzeichenidentität).
Gemäß Apple - technischen Fragen „Alle Unternehmen und Standard - iOS Entwickler - Zertifikate, die erstellt werden , nachdem iOS 8 veröffentlicht wurde haben das neue Team - ID - Feld an der richtigen Stelle zu Swift Sprache apps erlauben zu laufen“
quelle
Ich habe das Problem behoben, indem ich alles aus dem Xcode Derived Data-Verzeichnis gelöscht habe:
Viel Glück euch allen!
quelle
Ich hatte die gleiche Fehlermeldung, so habe ich sie gelöst:
Das Problem ergab sich aus den von Xcode automatisch generierten Zertifikaten. Ich musste diese Zertifikate widerrufen, um sie von developer.apple.com zurück zu generieren
Die Lösung lautet dann: - Gehen Sie zu developer.apple.com / certificates -> Zertifikate widerrufen ODER gehen Sie zu Xcode> Einstellungen> Konten> Details anzeigen> Sigining-Identitäten auswählen> Clic-Einstellung whell> widerrufen - Gehen Sie zu developper.apple.com und Befolgen Sie die Anweisungen zum Generieren neuer Zertifikate - In Xcode in meinem Projekt: Gehen Sie zu Code Signing Identity und signieren Sie beide Debug-Zeilen mit dem generierten Zertifikat. - Beide Release-Zeilen sind auf "iOS Developer" gesetzt. - Dann project> clean - Build and run on device
quelle
@ Saikirans Antwort hat funktioniert.
Meine Zertifikate wurden vor der Veröffentlichung von iOS 8 erstellt. Ich habe alle meine Zertifikate widerrufen und alle Bereitstellungsprofile neu generiert, wodurch meine Probleme sofort gelöst wurden.
Ich habe nicht genug Ruf, um über die Antwort von @ Saikiran abzustimmen, aber das hat definitiv zur Lösung des Problems beigetragen.
quelle
Diese Fehlermeldung kann auch auftreten, wenn Sie ein Framework verwenden, das in einer anderen Swift-Version als der derzeit verwendeten erstellt wurde, z. B. wenn Sie Xcode aktualisieren.
quelle
Für mich hat sich die Option eingestellt
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES
auf JA in Projekt -> Build-Einstellungen -> Build-Optionen
(Namirialer Rahmen durch Cocoapods)
quelle
Keine der oben genannten Lösungen hat bei mir funktioniert. Ich habe die Vertrauensstellungen für das iPhone Developer Certificate in Keychain geändert. Es sollte immer Vertrauen sein . Ändern Sie es in Systemstandards verwenden . Doppelklicken Sie auf das Zertifikat in Schlüssel die Option Bildschirm, von Entdeckt zu öffnen dieses Blog
quelle
Use System Defaults
dies auch für mich zu lösen.Ich hatte die gleiche Fehlermeldung, so habe ich sie gelöst: Dies geschieht, weil ich die Bundle-ID geändert habe, also habe ich einfach die alte Bundle-ID eingegeben und es hat wieder funktioniert
quelle
Ich hatte die Runpath-Suchpfade bereits richtig eingestellt, aber es funktionierte immer noch nicht. Die Antwort von @Justin Domnitz brachte mich auf den richtigen Weg: Die Einstellung "Immer schnelle Standardbibliotheken einbetten" in den Build-Einstellungen meines Ziels auf "Ja" hat den Trick für mich getan.
quelle
Dieses Problem wurde anscheinend durch die Aufnahme der Swift-Datei in das benutzerdefinierte Objective-C-Framework verursacht. Auch unsicher, ob verwandt, aber mein App-Ziel wurde auch in Objective-C erstellt. Auch zum Simulator im Debug bauen. Noch nicht für die Veröffentlichung oder Archivierung überprüft.
Zusätzlich wurden die Einstellungen für die Runpfadsuche für das Projektziel auf "@ executeable_path / Frameworks" festgelegt. In den Zieleinstellungen für das Framework wurden sie auf "@ executeable_path / Frameworks" und "@ loader_path / Frameworks" festgelegt.
Nachdem ich versucht hatte, ein benutzerdefiniertes Framework neu zu erstellen und das App-Ziel erneut zuzuordnen, den abgeleiteten Datenordner und einige andere Vorschläge zu löschen, funktionierte es letztendlich für mich, die Build-Einstellung innerhalb des Projektziels für das benutzerdefinierte Framework-Projekt (nicht das App-Ziel) zu ändern: "Always Embed Swift Standardbibliotheken "bis" JA ". Es schien keine Rolle zu spielen, auf welche Einstellung das App-Ziel eingestellt war. Ich habe dies überprüft, indem ich den Simulator zurückgesetzt und neu erstellt habe. Dies ähnelt der Antwort von Daniele Ceglia, aber ich konnte keinen Kommentar hinzufügen und wollte mehr Klarheit schaffen.
quelle
Für mich das Reinigen des Projekts das Problem lösen!
quelle
Ich habe auch ein solches Problem. Alle anderen Möglichkeiten konnten mir nicht helfen, also habe ich es auf dumme Weise gemacht, ein neues Projekt und eine Pod-Installation von Grund auf neu erstellt und nachdem bestätigt wurde, dass es richtig funktioniert, habe ich alle Klassendateien und Storyboard-Dateien kopiert, endlich fertig ! Ich denke, es ist der letzte Weg, vielleicht könnte es dir helfen
quelle
Ich hatte ein ähnliches Problem in einem Objective-C-Projekt, in dem ich anfing, Swift-Dateien einzuschließen.
In meinem Fall habe ich im Hauptprojekt zwei Ziele erstellt und eine leere Swift-Datei hinzugefügt, die eine Bridging-Header-Datei und einige Konfigurationen erstellt, diese jedoch nur als Mitglied eines Ziels markiert. Das erste Ziel funktioniert ordnungsgemäß, das zweite jedoch nicht, und ich habe festgestellt, dass die Unterschiede in den Build-Einstellungen folgende sind:
Außerdem musste ich den Objective-C-Bridging-Header auf die zuvor erstellte Datei verweisen:
Nach dem Hinzufügen dieser beiden Einstellungen begann das zweite Ziel ordnungsgemäß zu funktionieren.
quelle
Versuchen Sie, den Build-Ordner zu bereinigen. Ich hatte das gleiche Problem und habe es folgendermaßen gelöst: Produkt -> Build-Ordner bereinigen
quelle
Für mich hat der Neustart-Simulator dieses Problem gelöst.
quelle
Ich habe einige der oben genannten Fälle ausprobiert und es schien mein Problem nicht zu lösen. Ich benutze Git und Cocoapods für ein Projekt und der Fehler verschwand, sobald ich ein neues Commit machte.
quelle
Ich hatte dieses Problem zuvor in iPod touch iOS 9.3. Und ich habe alle in diesem Beitrag erwähnten Methoden angewendet , aber keine davon hat funktioniert. Ich habe meine Projekteinstellung überprüft. Und in der anderen Link-Flagge fand ich, dass ich hinzugefügt habe
-Wl,-sectcreate,__RESTRICT,__restrict,/dev/null
.Dieses Flag verhindert das Einfügen von Dyld in das Telefon mit Jailbreak. Wenn ich dieses Flag lösche, kann die App erneut gestartet werden. Ich bin mir nicht sicher, warum es funktioniert hat. Weil ich in iPhone 10 iOS 10 diese Zeile nicht löschen muss. Aber es hat in iPod touch iOS 9.3 funktioniert. Überprüfen Sie also, ob Sie die gleiche Situation wie ich haben.
quelle
Bitte überprüfen Sie das * .framework, wenn ein _CodeSignature-Signatur-Framework-Verzeichnis vorhanden ist. Wenn kein _CodeSignature-Ordner vorhanden ist, navigieren Sie zu den Erstellungsphasen und klicken Sie auf +, um eine neue Kopierdateiphase hinzuzufügen und Kopierdateien zu erstellen. Verweisen Sie danach auf * .framework und wählen Sie Code Sign On Copy
quelle