CocoaPods是否已经准备进入黄金时段?为什么不只用git子模块?等等。
到本文撰写为止,Swift包管理器(SPM)还处在“早期设计和开发阶段”【1】。它当前并不支持iOS,watch OS,或者Objective-C【2】【3】。在SPM开发的同时,CocoaPods也会持续开发以同时支持Swift和Objective-C。到SPM接近成熟的时候,我们将会评估CocoaPods和CocoaPods社区的最好的前进方向。
CocoaPods并不是用来下载代码的。当它完成下载工作时,这只是它最小的一部分功能。
对CocoaPods的定位是(交叉)依赖解决方案,(语义上的)版本管理,以及自动“集成到Xcode中”。
最后,即使你仅把CocoaPods看成一个下载器,实际上也使用了其他的SCMs而不只是git。从另一个角度来看,CocoaPods是个黑盒,从本地或HTTP位置控制子版本、Mercurial以及zip/tarball压缩。
简单的说,我们非常感谢这份好意,本项目(作为一个实体)不接受经济捐赠。我们有一片关于这个的博客帖子。
请先看第二点(2),然后除非你告诉我们缺失了什么功能以及它为什么很重要,否则这种情况不可能存在。我们没有擦去Twitter以查看工作,因此请做一个 标记,或者最好是以“拉取请求”的方式
CocoaPods通常已经做了依赖解决,但在0.35版本之前都缺少自动处理冲突的解决方案。现在,CocoaPods已经能够解决所有可以解决的冲突。
这等于在说“我们不应该有汽车”,因为它们让我们懒惰,而我们忘记了走路/跑步。或者“我们不该使用IDEs”,因为它们让我们变成差劲的程序员,不在编辑器中写代码,并且记不得语法。此外,这个原因适用于获取代码(如,git)的根本意义,以及对于是否应该有的讨论。
然而值得讨论的东西是,要让用户负责任。非常讽刺的是,CocoaPods最初的开发者已经被说服了,也认为使用大量的依赖不是好主意。关于如何解决这个问题的切实可行的建议,你可以阅读Manfred Stienstra写的这篇博客帖子。
从Xcode 4开始,苹果正是为了这个目的推出了工作空间。
从此以后,他们也在每个xcodePRoj文档中添加了工作空间文件,这导致人们认为工作空间只是用户数据。这显然错了,如果你曾经这么认为,那么你不应该再忽略工作空间文档了。
注意CocoaPods自身并不需要使用工作空间。如果你更喜欢使用子工程,你也可以这么做,只要运行pod install –no-integrat,这将会让你可以按照你看着爽的方式将pod库整合到你的工程中。
你不是必须这么做,macOS自带了Ruby 2.0.0或者更新的版本,预装在/usr/bin/ruby目录下,这是我们的基础,我们必须在这个盒子里工作。
原文链接:《F.A.Q》
新闻热点
疑难解答