673 Stimmen

IOS-App mit Framework ist auf dem Gerät abgestürzt, dyld: Bibliothek nicht geladen, Xcode 6 Beta

Dieser Absturz war ein blockierendes Problem. Ich habe die folgenden Schritte zur Reproduktion des Problems verwendet:

  • Erstellen Sie ein Cocoa Touch Framework-Projekt
  • Fügen Sie eine Swift-Datei und eine Klasse Dog hinzu
  • Erstellen Sie ein Framework für das Gerät
  • Erstellen Sie eine Single View-Anwendung in Swift
  • Importieren Sie das Framework in das App-Projekt
  • Instanziieren Sie die Swift-Klasse aus dem Framework im ViewController
  • Bauen und führen Sie eine App auf dem Gerät aus

Die App stürzte sofort beim Start ab. Hier ist der Konsolen-Log:

dyld: Library not loaded: @rpath/FrameworkTest03.framework/FrameworkTest03
  Referenziert von: /var/mobile/Applications/FA6BAAC8-1AAD-49B4-8326-F30F66458CB6/FrameworkTest03App.app/FrameworkTest03App
  Grund: Bild nicht gefunden

Ich habe versucht, auf iOS 7.1 und 8.0 Geräten zu bauen. Sie haben beide den gleichen Absturz. Allerdings kann ich eine App erstellen und auf dem Simulator ausführen. Außerdem bin ich mir bewusst, dass ich das Framework von Erforderlich auf Optional in Link Binary With Libraries ändern kann, aber das hat das Problem nicht vollständig gelöst. Die App stürzt ab, wenn ich eine Instanz von Dog erstelle. Das Verhalten ist auf dem Gerät und dem Simulator unterschiedlich. Ich vermute, dass wir kein Framework für das Gerät mit einer Beta-Version von Xcode verteilen können. Kann jemand Licht ins Dunkel bringen?

31voto

Aviel Gross Punkte 9318

Ich musste (zusätzlich zu dem hier erwähnten) die folgende Zeile zu Runpath-Suchpfaden unter dem Build-Einstellungen Tab hinzufügen:
@executable_path/Frameworks

Bildbeschreibung hier eingeben

28voto

jfalexvijay Punkte 3676

Ich hatte das gleiche Problem in der iOS 9.x-Version

PROBLEM IST: Die App stürzt ab, sobald ich die App öffne, mit dem folgenden Fehler.

dyld: Bibliothek nicht geladen: /System/Library/Frameworks/UserNotifications.framework/UserNotifications Referenziert von: /var/containers/Bundle/Application/######/TestApp.app/TestApp Grund: Bild nicht gefunden

Ich habe dieses Problem gelöst, indem ich Erforderlich in Optional in **Verknüpfte Frameworks und Bibliotheken** für das UserNotifications.framework Framework geändert habe.

26voto

liamnichols Punkte 12359

Sie müssen das Framework zu einer neuen Kopierdateien-Build-Phase hinzufügen, um sicherzustellen, dass das Framework zur Laufzeit in das Anwendungs-Bundle kopiert wird.

Siehe Wie füge ich meiner Zielgruppe eine Kopierdateien-Build-Phase hinzu für weitere Informationen.

Offizielle Apple-Dokumente: https://developer.apple.com/library/mac/recipes/xcode_help-project_editor/Articles/CreatingaCopyFilesBuildPhase.html

18voto

Tamás Sengel Punkte 51405

Wenn Sie Xcode 11 oder neuer verwenden:

  1. Navigieren Sie zu den Einstellungen Ihres Ziels und wählen Sie Allgemein.

Ziel Einstellungen/Allgemein

  1. Scrollen Sie nach unten zu Frameworks, Bibliotheken und eingebetteten Inhalten.

  2. Stellen Sie sicher, dass der Wert Einbetten & Signieren oder Einbetten ohne Signieren für die Option Einbetten ausgewählt ist, wenn erforderlich.

Abschnitt Frameworks, Bibliotheken und eingebettete Inhalte

13voto

Vineesh TP Punkte 7319

Fügen Sie das Framework in Embedded-Binärdateien hinzu Geben Sie hier eine Bildbeschreibung ein

Dann bereinigen und erstellen Sie neu.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X