Ich erstelle eine neue App MyApp
, wo ich beschlossen, einige Teile der App in einem separaten Rahmen MyFramework
statt der App selbst zu machen, um sie in anderen Projekten wiederverwendbar zu machen. Das Framework hat ein eigenes Projekt (MyFramework.xcodeproj
), das ein Teilprojekt des Haupt-App-Projekts ist (MyApp.xcodeproj
). Das Haupt-App-Projekt hat natürlich eine Abhängigkeit (macht das Verknüpfen von & Kopieren) auf dem Framework (MyFramework.framework
). Dieser Teil funktioniert soweit gut.Wie verknüpfe ich ein (Teilprojekt-) Framework mit einem Pod?
Jetzt, MyFramework
braucht eine Kakaokapsel (Alamofire
), um zu arbeiten. Soweit ich das verstanden habe, möchte ich keine Kakaoschoten für das MyFramework.xcodeproj
Projekt direkt einrichten, also habe ich es nur für die Hauptanwendung MyApp.xcodeproj
(jetzt MyApp.xcworkspace
wegen Pods) eingerichtet und auch die Alamofire
Pod dort. Ich verlinkte dann MyFramework.xcodeproj
gegen die Alamofire.framework
(nicht die), aber nicht Alamofire
zum Kopieren gesetzt. Die MyApp.xcodeproj
macht die üblichen Cocoapods zum Verknüpfen/Kopieren/Bündeln von Sachen, also beinhaltet auch das Alamofire.framework
im Endprodukt. Dies funktionierte teilweise gut.
(Anmerkung: Ich sage ‚teilweise fein‘ hier, weil ich in den MyFramework
Quellen gelegentlich Fehler hatte nicht die Suche nach der Alamofire
Modul beim Kompilieren, die durch eine erneute Verknüpfung der Alamofire.framework
im MyFramework.xcodeproj
behoben werden können Abgesehen davon. Erstellen und Ausführen der App funktioniert gut.)
Das Problem ist jetzt, wenn ich versuche, die App zu archivieren, das Alamofire
Modul ist wieder nicht in den MyFramework
Quellen gefunden. Der Fehler tritt sowohl bei der Archivierung der MyApp
(die auch MyFramework
baut), als auch bei der Archivierung von MyFramework
direkt auf. Der Fehler tritt nicht in der Verknüpfungsphase auf, sondern in der Kompilierungsphase einer Swift-Quelldatei mit einer import Alamofire
-Anweisung.
Ich vermute etwas wie die Verknüpfung der Alamofire.framework
, um einen falschen relativen Pfad zu verwenden, der während des Aufbaus gefunden werden kann, aber bei der Archivierung oder dergleichen anders ist. Ich habe bereits versucht, den Alamofire.framework
Pfad auf Relative to build products
zu setzen, aber konnte nicht das zum Funktionieren bringen, nicht einmal für reguläres Bauen (nicht archivieren).
Ich bin jetzt fest und frage mich, ob meine ganze Einrichtung mit der Verknüpfung von MyFramework.xcodeproj
Projekt an die Alamofire.framework
und Alamofire
als Pod enthalten ist korrekt.
Kann jemand mir einen Hinweis geben, was hier falsch sein könnte? Entweder in den Pfaden oder im gesamten Setup?
und? Hast du eine Lösung gefunden? – vikingosegundo