【问题标题】:Carthage nested dependenciesCarthage 嵌套依赖
【发布时间】:2016-08-03 12:00:26
【问题描述】:

我对 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 框架在某些时候是否会包含不同的版本?如果是这样,那不会在运行时造成任何麻烦吗?

【问题讨论】:

  • 在我看来,AlamofireObjectMapper 在 Carthage 文件夹中有 Alamofire 和 ObjectMapper 作为子模块。

标签: swift ios-frameworks carthage


【解决方案1】:

所以我绝对认为你可以简单地包含AlamofireObjectMapper 框架,因为它似乎在其 Carthage 资源中进行了 repo 检查,包括Cartfile。因此,当您更新AlamofireObjectMapper 时,所有 ITS 依赖项都会相应更新。

但是,如果出于某种原因,您觉得需要手动更新或降级(坏主意)AlamofireObjectMapper 依赖项之一,您可以简单地进入其 Cartfile 并将版本号或版本操作从 ~> 更改为== 或您可能需要做的任何事情。希望这会有所帮助!

【讨论】:

    猜你喜欢
    • 2022-01-22
    • 1970-01-01
    • 2014-10-02
    • 2014-11-19
    • 1970-01-01
    • 1970-01-01
    • 2011-08-19
    • 2012-03-29
    • 1970-01-01
    相关资源
    最近更新 更多