【问题标题】:Why we have to use dependency manager?为什么我们必须使用依赖管理器?
【发布时间】:2016-09-21 05:32:19
【问题描述】:

我正在为 IOS 开发一个应用程序,我必须使用一些框架。 如你所知,Cocoa pods 和 Carthage 是 iOS 和 mac OS 的依赖管理器 我的问题是“为什么我们必须使用依赖管理器?,而不是使用依赖管理器,只需克隆该项目[由其他程序员编写并且可以用作框架]并拖放到您的项目中??”

感谢您的回答

【问题讨论】:

    标签: ios cocoa carthage


    【解决方案1】:

    您需要考虑的几件事是:

    1. 在新版本发布时更新依赖项。

    2. 更新多个平台的依赖关系。

    3. 相互依赖的框架和依赖框架的不同框架版本。

    基本上,您花在维护项目依赖项上的时间会随着项目的增长而增长。依赖管理器可以让您避免所有这些不必要和无聊的工作。 使用 DM 而不仅仅是导入框架还有很多其他原因。更多关于你可以找到here。还有here

    【讨论】:

      【解决方案2】:

      在某些时候,您可能想使用 3rd 方代码来获得额外的功能或其他东西,您可以复制源代码,但将来如何更新它?继续应对!!

      此外,您的某些第 3 方代码可能依赖于其他第 3 部分代码,如果您将其复制两次,您将获得重复的符号。

      依赖管理器会为您处理所有这些。

      我的建议是使用 Carthage 或子模块,但不要使用 CocoPods,任何涉及项目文件的东西都不是 Apple 的好习惯。

      【讨论】:

      • 是的,Carthage 比 CocoPods 好很多
      • 不同意不使用 CocoaPods。这取决于在哪里使用什么。 Cocoapods 是最简单的依赖管理器解决方案。我在使用时也没有问题。
      • 不确定您所说的最简单是什么意思,Carthage 可以在不影响或更新任何工作区/项目文件的情况下完成所有这些工作。这可能是一个偏好问题,但我相信大多数工程师会更喜欢 Carthage,因为集成的侵入性较小。
      【解决方案3】:

      为什么图书馆是你的朋友

      虽然没有严格要求您使用第三方库或 框架,它们绝对可以为您节省大量时间,让您 专注于完善您的应用程序,而不是输入无数行 您根本不需要编写的代码。

      您可以使用第三方框架和库而无需依赖 经理,你可以在这里获得关于他们的动手教程 在这个网站上。例如,有我们的 Alamofire 教程,还有我们的 SwiftyJSON 教程。

      如果没有依赖管理器,您只需将每个库的代码添加到 您的项目手动。然而,这种方法有几个 缺点:

      1. 将库更新到新版本可能很困难,特别是如果必须一起更新多个库,因为其中一个依赖于 另一个。
      2. 在您的项目中包含一个库会让人很想对代码进行本地更改,从而更难更新到新版本 稍后。
      3. 很难确定您的应用中使用的库的当前版本,尤其是在您不主动跟踪它们的情况下。
      4. 如果没有一个可以查看所有可用库的中心位置,可能很难找到新库。
      5. CocoaPods 可帮助您克服所有这些问题以及更多问题。它获取库代码,解决库之间的依赖关系,帮助 您搜索和发现新的库,甚至设置正确的 轻松构建项目的环境。

      礼貌 https://www.raywenderlich.com/97014/use-cocoapods-with-swift

      【讨论】:

        猜你喜欢
        • 2014-10-07
        • 1970-01-01
        • 2018-06-16
        • 1970-01-01
        • 2021-12-12
        • 1970-01-01
        • 1970-01-01
        • 2012-05-18
        • 2020-07-17
        相关资源
        最近更新 更多