我有一个关于 Carthage 和 Cocoapods 的项目。它们都有一个共同的依赖项(准确地说是 PureLayout)。奇怪,但项目编译良好,没有任何有关类重新声明等的错误。
所以问题是:为什么它有效,以及当我调用 PureLayout 的方法(Carthage 的方法还是 Cocoapods 的方法)时实际使用哪个版本的依赖项?
Carthage
and CocoaPods
在构建依赖项并将其集成到项目中方面有很大不同。
CocoaPods 是集中式依赖管理器,它将构建您的依赖项并通过创建新的依赖项将它们直接集成到项目中.xcworkspace
工作区。这意味着您可以在构建后立即访问构建依赖项。
另一方面,Carthage 是去中心化的依赖管理器,它让您承担将依赖项集成到项目中的任务。 Carthage 构建了中指定的框架Cartfile
并将它们移动到Carthage/Builds
文件夹。构建过程结束后,您需要集成和管理依赖项。
就你而言,当你构建你的PureLayout
与 CocoaPods 和 Carthage 的依赖关系,CocoaPods 将其集成到项目中,Carthage 为您留下了内置版本Carthage/Builds
这意味着您仅使用了 CocoaPods 构建版本PureLayout
.
此外,使用多个包/依赖项管理器也是一种不好的做法。您应该坚持使用其中一种并感到舒服。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)