2016-04-12 8 views
2

Ich bin ziemlich neu zu iOS-Frameworks, aber spielen Carthage und Swift Ich kam zu einer sehr einfachen Frage, noch schien ich nicht die Antwort zu finden, die ich suche.Carthage verschachtelte Abhängigkeiten

Ich spiele gerade um Alamofire und ObjectMapper libs und stellte fest, dass es ein anderes Framework namens AlamofireObjectmaper gibt, das anmutig eine Verbindung zwischen diesen beiden erstellt.

Jetzt ist meine Frage, wie soll ich das in meinem Cartfile behandeln? Meine erste Idee drei alle

github "Alamofire/Alamofire" ~> 3.0 
github "Hearst-DD/ObjectMapper" ~> 1.1 
github "tristanhimmelman/AlamofireObjectMapper" ~> 2.1 

enthalten war aber dann, dass ich dachte, da AlamofireObjectMapper verlässt sich sowohl Alamofire und ObjectMapper bettet innerhalb seiner eigenen Rahmen, ich brauchte nicht diese beiden umfassen. Also habe ich alles entfernt und nur die einzige Zeile hinzugefügt. Und mein Prototyp arbeitet immer noch gut (kann ich noch import Alamofire in meinem Code.

Wie genau soll ich einer solchen Situation umgehen? Soll ich die einzelnen halten Alamofire und `ObjectMapper Frameworks. Und wenn ja, wie werden sie von Karthago tatsächlich behandelt ?

Denn von dem, was ich gesehen habe, die AlamofireObjectMapper Rahmen enthält eine eigene Version des Alamofire Rahmen ist. Könnte es passieren, dass beide Alamofire Frameworks andere Version an einem gewissen Punkt enthält? Wenn ja, würde das keine Probleme verursachen zur Laufzeit?

+0

Scheint mir, dass AlamofireObjectMapper Alamofire und ObjectMapper als Submodule im Carthage-Ordner hat. – eonist

Antwort

0

Also ich denke auf jeden Fall, dass Sie gut sind um einfach das Framework mit einzubeziehen, einfach weil es scheint, dass es Repo-Checks in seinen Ressourcen in Carthage gibt, einschließlich der Cartfile. Wenn Sie also AlamofireObjectMapper aktualisieren, werden alle ITS-Abhängigkeiten entsprechend aktualisiert.

Wenn aus irgendeinem Grunde, aber fühlen Sie die Notwendigkeit, manuell zu aktualisieren oder Herabstufung (schlechte Idee) ein von AlamofireObjectMapper Abhängigkeiten, können Sie einfach in seine Cartfile gehen und die Versionsnummer oder Version Betrieb ändern von ~> zu == oder was auch immer Sie müssen möglicherweise tun. Hoffe das hilft!

Verwandte Themen