Unterstützung für Karthago einem bestehenden Projekt hinzufügen

9

Ich habe das Projekt AEXML gegabelt und versuche, Unterstützung Karthago. Ich habe ein Framework-Ziel hinzugefügt und ein neues Schema erstellt, das als freigegeben markiert ist (siehe Screenshots unten). Ich kann carthage build ausführen und in meinem Carthage/Build/iOS sehe ich:

Wenn ich die resultierende AEXML.framework Datei in meine Beispielanwendung ziehe, wird das Projekt erstellt, aber beim Start bekomme ich:

Ich habe das Gefühl, dass ich irgendwo unterwegs versagt habe, aber ich bin mir nicht sicher, wie ich das beheben soll.

    
Kyle Decot 29.09.2015, 14:33
quelle

3 Antworten

1

Sie sollten in der "Build Phase" Ihres Beispielprojekts ein Laufskript hinzufügen, beispielsweise:

  

Klicken Sie auf der Registerkarte "Build Phases" Ihrer Anwendungsziele auf das Symbol "+", und & gt; Wählen Sie "New Run Script Phase". Erstellen Sie ein Ausführungsskript mit dem folgenden Inhalt:

     

/ usr / local / bin / Carthage-Kopierrahmen   Fügen Sie die Pfade zu den Frameworks hinzu, die Sie unter "Eingabedateien" verwenden möchten, z. B .:

     

$ (SRCROOT) /Carthage/Build/iOS/Box.framework   $ (SRCROOT) /Carthage/Build/iOS/Result.framework   $ (SRCROOT) /Carthage/Build/iOS/ReactiveCacoa.framework

    
Abner Zhong 06.10.2015 09:26
quelle
1

Ich hatte dies selbst versucht, indem ich dem Skript hinzugefügt habe, um zu überprüfen, ob jedes Framework in BUILD_PRODUCTS_DIR gefunden wurde, und es dann rekursiv zu kopieren, wenn nicht. Als das nicht funktionierte, endete ich mit diesem Verknüpfungsproblem:

dyld: Bibliothek nicht geladen: @ rpath / XCTest.framework / XCTest Referenziert von: ... / build / Produkte / Debug-iphonesimulator / Specta.framework / Speta Grund: Bild nicht gefunden

Ich habe schließlich versucht, die Phase der Kopierdateien zu erstellen, meine Frameworks und dSYMs eingeschlossen, Gruppen erstellt und diese dann in Xcode 7.2 in die Frameworks-Gruppe verschoben. Meine Verbindungsprobleme waren komplett weg.

    
Paul Crowell 30.01.2016 18:08
quelle
0

Der Fehler, auf den Sie hingewiesen haben, dass das Framework-Binary zur Laufzeit nicht gefunden wurde. Antwort von Abner Zhong wird in den meisten Fällen funktionieren, aber manchmal muss man sich etwas mehr anstrengen (für mich war es das Unit-Testziel) . Damit es funktioniert Karthago README schlägt vor:

  

In seltenen Fällen möchten Sie möglicherweise auch jede Abhängigkeit in das Build-Produkt kopieren (z. B. um Abhängigkeiten in das äußere Framework einzubetten oder sicherzustellen, dass Abhängigkeiten in einem Testpaket vorhanden sind). Erstellen Sie dazu eine neue Build-Phase "Copy Files" mit dem Ziel "Frameworks", und fügen Sie dort ebenfalls die Framework-Referenz hinzu.

Sie können dies hier tun:

    
Tomasz Bąk 08.10.2015 11:52
quelle

Tags und Links