【发布时间】:2016-09-21 05:32:19
【问题描述】:
我正在为 IOS 开发一个应用程序,我必须使用一些框架。 如你所知,Cocoa pods 和 Carthage 是 iOS 和 mac OS 的依赖管理器 我的问题是“为什么我们必须使用依赖管理器?,而不是使用依赖管理器,只需克隆该项目[由其他程序员编写并且可以用作框架]并拖放到您的项目中??”
感谢您的回答
【问题讨论】:
我正在为 IOS 开发一个应用程序,我必须使用一些框架。 如你所知,Cocoa pods 和 Carthage 是 iOS 和 mac OS 的依赖管理器 我的问题是“为什么我们必须使用依赖管理器?,而不是使用依赖管理器,只需克隆该项目[由其他程序员编写并且可以用作框架]并拖放到您的项目中??”
感谢您的回答
【问题讨论】:
在某些时候,您可能想使用 3rd 方代码来获得额外的功能或其他东西,您可以复制源代码,但将来如何更新它?继续应对!!
此外,您的某些第 3 方代码可能依赖于其他第 3 部分代码,如果您将其复制两次,您将获得重复的符号。
依赖管理器会为您处理所有这些。
我的建议是使用 Carthage 或子模块,但不要使用 CocoPods,任何涉及项目文件的东西都不是 Apple 的好习惯。
【讨论】:
为什么图书馆是你的朋友
虽然没有严格要求您使用第三方库或 框架,它们绝对可以为您节省大量时间,让您 专注于完善您的应用程序,而不是输入无数行 您根本不需要编写的代码。
您可以使用第三方框架和库而无需依赖 经理,你可以在这里获得关于他们的动手教程 在这个网站上。例如,有我们的 Alamofire 教程,还有我们的 SwiftyJSON 教程。
如果没有依赖管理器,您只需将每个库的代码添加到 您的项目手动。然而,这种方法有几个 缺点:
- 将库更新到新版本可能很困难,特别是如果必须一起更新多个库,因为其中一个依赖于 另一个。
- 在您的项目中包含一个库会让人很想对代码进行本地更改,从而更难更新到新版本 稍后。
- 很难确定您的应用中使用的库的当前版本,尤其是在您不主动跟踪它们的情况下。
- 如果没有一个可以查看所有可用库的中心位置,可能很难找到新库。
- CocoaPods 可帮助您克服所有这些问题以及更多问题。它获取库代码,解决库之间的依赖关系,帮助 您搜索和发现新的库,甚至设置正确的 轻松构建项目的环境。
礼貌 https://www.raywenderlich.com/97014/use-cocoapods-with-swift
【讨论】: