迦太基嵌套依赖

时间:2016-04-12 17:52:08

标签: swift ios-frameworks carthage

我对iOS框架相当陌生,但在CarthageSwift玩游戏时,我提出了一个非常简单的问题,但我似乎找不到我想要的答案。

我目前正在玩AlamofireObjectMapper个库,发现还有另一个名为AlamofireObjectmaper的框架,可以优雅地在这两个框架之间建立链接。

现在我的问题是如何在我的Cartfile中处理这个问题?我的第一个想法是包括所有三个

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

但后来我认为,由于AlamofireObjectMapper依赖于将AlamofireObjectMapper嵌入其自己的框架中,因此我不需要包含这两者。所以我删除了所有内容,只添加了单AlamofireObjectMapper行。我的原型仍然运行良好(我仍然可以import Alamofire在我的代码中。

我该如何处理这种情况?我应该保留单个Alamofire和`ObjectMapper框架。如果是这样,他们如何真正由迦太基处理?

因为根据我所见,AlamofireObjectMapper框架确实包含了它自己的Alamofire框架版本。是否会发生两个Alamofire框架在某些时候包含不同的版本?如果是这样,在运行时不会造成任何麻烦吗?

1 个答案:

答案 0 :(得分:0)

所以我绝对认为你只需要包含AlamofireObjectMapper框架就可以了,只是因为它似乎是对其Carthage资源的回购检查,包括Cartfile。因此,当您更新AlamofireObjectMapper时,所有ITS依赖项都将相应更新。

但是,出于某种原因,您觉得需要手动更新或降级(坏主意)AlamofireObjectMapper个依赖项之一,您可以直接进入其Cartfile并从{{更改版本号或版本操作1}}到~>或您可能需要做的任何事情。希望这有帮助!