2016-07-11 14 views
0

Hier ist der Fehler, den ich bekommen:Swift Rahmen ist Lasten in Objective C-Anwendung auf dem Simulator, aber nicht auf dem Gerät

dyld: Library not loaded: @rpath/AAA.framework/AAA 
    Referenced from: /var/containers/Bundle/Application/7250F8A6-E0D8-4BF2-BBD9-F1315D1439F7/BBB.app/BBB 
    Reason: image not found 
  • Dieses gebaut wird Xcode 7.3.1 verwenden.
  • Ich habe andere Ratschläge aus anderen Antworten gefolgt.
    • Das Framework ist in "Verknüpfte Frameworks und Bibliotheken".
    • Das Framework ist in "Link Binary mit Bibliotheken".
    • LD_RUNPATH_SEARCH_PATHS ist auf $(inherited) @executable_path/Frameworks eingestellt.
    • EMBEDDED_CONTENT_CONTAINS_SWIFT ist YES.
    • Ich habe "Clean Build Folder ...", Projekte> Abgeleitete Daten> "Löschen ..." gemacht und sowohl den Mac als auch das iPad neu gestartet.
    • Weder Cocoapoden noch Karthago werden verwendet.

Gibt es etwas, was ich bin fehlt? Ich konnte die Antwort auf Stackoverflow nicht finden.

Antwort

0

Ihre App kann die Framework-Binärdatei nicht laden, da sie nicht zusammen mit der App auf Ihr Gerät kopiert wurde. Sie müssen die *.framework-Datei zur Embed Frameworks Build-Phase Ihres App-Ziels hinzufügen. Auf diese Weise wird das Framework in den Ordner Frameworks im App-Paket kopiert, damit Ihre App es laden kann.

Embedding Gerüste

Es gibt zwei Möglichkeiten, einen Rahmen in Ihre App einbinden:

  1. Mit den General Registerkarte auf einem Ziel-Build-Einstellungen. General Tab

  2. Verwenden Sie die Registerkarte Build Phases auf den Build-Einstellungen eines Ziels. Build Phases Tab

Bitte beachten: Wenn Ihr Rahmen der Link Binary with Libraries Build-Phase hinzugefügt wurde, bevor es wieder hinzugefügt werden, werden Sie mit zwei Verweise auf den gleichen Rahmen zu verlassen.

+0

Ich glaube, dass das Framework in "Link Binary mit Bibliotheken" dies tut. Wenn nicht, wie soll ich das machen? –

+0

Leider nicht. Es funktioniert nur umgekehrt. Wenn Sie das Framework der Build-Phase "Embed Frameworks" hinzufügen, wird es der Build-Phase "Link Binary with Libraries" hinzugefügt. Sie müssen es entweder zur oben erwähnten Build-Phase hinzufügen oder Sie fügen es über die Registerkarte "Allgemein" in den Build-Einstellungen des Ziels hinzu. Ich werde meiner Antwort noch einige weitere Details und Screenshots zur Klärung hinzufügen. –

Verwandte Themen