2015-05-05 9 views
15

Ich habe alle Fragen über den Fehler zu lesen:dyld: Bibliothek, die nicht mit cocoapods 0,37 und Xcode 6.3 geladen

dyld: Library not loaded: @rpath/Bolts.framework/Bolts Referenced from: /private/var/mobile/Containers/Bundle/Application/1542F906-CCE1-4181-AC7C-B5E3EE50E7D7/eBikeMotion.app/eBikeMotion Reason: no suitable image found. Did find:

Welche meine Anwendung nicht in der Lage macht in einem echten Gerät ausgeführt werden (aber es läuft ohne Probleme im Simulator Bis zu einem gewissen Punkt dachte ich, dass es ein Problem mit den Frameworks war, die ich installierte, aber nach der manuellen Installation der ursprünglichen, die den Fehler warf, war Alamofire, und das nächste Framework warf den Fehler war der nächste eine in alphabetischer Reihenfolge (Schrauben, wie Sie im Code-Schnipsel sehen können) So bin ich zu dem Schluss gekommen, dass CocoaPo tatsächlich ist ds, die diese Fehler erzeugt. Ich habe die letzte Version (0.37) mit einer sauberen Installation, Iv'e versucht, ein neues Projekt zu erstellen, ich habe alle vorgeschlagenen Lösungen für dieses Problem ohne Glück versucht, also muss ich ein Problem mit dem öffnen hoffe, dass mir jemand helfen kann.

Grüße.

+0

Hast du eine Lösung? –

+0

Probieren Sie die folgende Lösung aus: @ neoD1 –

+0

Ja, ich werde versuchen und Sie jetzt lassen –

Antwort

36

Nach der Neuinstallation des gesamten Systems und keine Lösung zu finden, habe ich festgestellt, dass einige der Build-Phasen für CoucoPods ordnungsgemäß ausgeführt fehlten.

Die Lösung für dieses Problem geht für die nächsten Schritte:

  1. Deintegrate das cocoapods Projekt (Sie das Tool mit sudo gem install cocoapods-deintegrate installieren können).

cocoapods-deintegrate on Github

  1. Ändern Sie bitte Ihre Podfile:

    Sie sollten Ihr Ziel mit link_with 'ProjectName' Verknüpfung definieren.

    Sie sollten das Ziel für Ihre Pods definieren: target 'ProjectName' do [Pods hier] end.

  2. Machen Sie eine Installation mit pod install

  3. Nachdem dies zu tun, gehen Sie zu XCode und überprüfen Sie folgende Einstellungen:

    In Projekteinstellungen unter „Einstellungen“ überprüfen, dass in Debug und Release du hast ein Konfigurationssatz Pods-ProjectName.[debug|release]

    In Ihrem Ziel, unter „Build Phases“ genannt, sollten Sie drei neue Phasen haben, die genannt werden sollen: Check Pods Manifest, Embed Pods Frameworks und Copy Pods Resources.

  4. Machen Sie eine saubere, dann bauen, dann in Ihr Gerät laufen.

Das ist es.

+1

'link_with' wird nicht mehr unterstützt: C –

24

In meinem Fall folgte ich der obigen Antwort von @Jorge, aber es löste das Problem nicht. Der genaue Fehler war ein bisschen anders, weil die fehlende Datei @rpath Pods.framework/Pods war. Ich habe es schließlich mit Hilfe von CocoaPods behoben Problem # 3586:

Gehen Sie zum Ziel> Allgemein> Verknüpfte Frameworks und Bibliotheken Abschnitt legen Sie beide Pods.Framework und Pods_target.framework zu Optional.

Immer noch versuchen, genau herauszufinden, warum .... diese Antwort hat einige Infos: what-does-it-mean-to-weak-link-a-framework

+1

Ab Xcode 7beta3 ist die Option Enable Bitcode standardmäßig auf true gesetzt. Und dann erhalten Sie immer noch die Warnung '-weak_framework wird als -framework behandelt, wenn ENABLE_BITCODE = YES', mit anderen Worten, ein Framework als Optional zu markieren wird ignoriert, sodass das Ausführen auf dem Gerät immer noch fehlschlägt. Für den Moment habe ich Bitcode deaktiviert, aber es wird später ein Problem sein. – mluisbrown

+0

Ich habe gerade die alte libPods.a entfernt und es hat funktioniert. – gabbler

+0

Nach einer Stunde war dies die einzige Lösung, die mir geholfen hat! Danke @suz –

2

gleiches Problem haben Schoten zu WatchKit Erweiterung hinzufügen. Das Hauptziel mit der Watch App zu verknüpfen ist nicht die beste Option. Es wurde festgestellt, dass cocoapod 0.37.2 das Skript "Embed Pods Frameworks" nicht in die Build-Phase eingefügt hat.

Script: "${SRCROOT}/Pods/Target Support Files/Pods-ExtensionName/Pods-ExtensionName-frameworks.sh"

11

Ich hatte zwei Probleme zu beheben:

  1. Zum jedes Ziel dann Build Phases dann Link Binary With Libraries und wählen Pods.framework. Setzen Sie es auf Optional.

  2. Cocoapods hat die benötigten Run-Skripte für mein zweites Ziel nicht erstellt. Mein erstes Ziel hatte alle Skripte. Die zweite nicht. Also habe ich alle fehlenden Runscripts vom ersten auf das zweite Ziel kopiert. Sie müssen auf das kleine "+" - Zeichen oben links tippen, ein Laufskript hinzufügen und das Skript aus dem anderen Ziel einfügen. Ich habe das für Check Pods Manifest.lock, Copy Pods Resources und Embed Pods Frameworks getan.

Dann lief es auf dem Gerät. Endlich.

+0

Hatte das gleiche Problem hier mit Version 0.38.2.Es scheint, dass es immer noch ein Problem ist ... in meinem Fall hat es nicht das 'Embed Pods Frameworks'-Skript für zwei meiner Ziele erstellt. – Zac

+1

Doing nur Schritt # 1 hat für mich gearbeitet! Vielen Dank! – DTHENG

+0

Fast ein Tag, den ich damit verbracht habe und das einzige, was mir gefehlt hat, war das Embed Pods Frameworks-Skript. Du hast meinen Tag gerettet, bevor du schlafen gehst – mdonati

0

Um cocoapods zu haben erzeugen die Build-Phasen prüfen Pods Manifest, einbetten Pods Frameworks und Copy Pods Ressourcen:

1 - Go Phasen zu bauen und alle benutzerdefinierten Änderungen zu entfernen. Ich musste alles unter der Link Binary With Libraries-Phase entfernen.

2 - Führen Sie eine pod deintegrate (Oder entfernen Sie einfach die Dateien selbst)

3 - Führen Sie eine neue pod

Das ist für mich gearbeitet installieren. Ohne den ersten Schritt hat es nie getan.