(六)CocoaPods 常见问题(原文翻译)

CocoaPods是否已经准备进入黄金时段?为什么不只用git子模块?等等。

1 “现在Swift已经有了内置的包管理器,CocoaPods会不会停止开发?”

到本文撰写为止,Swift包管理器(SPM)还处在“早期设计和开发阶段”【1】。它当前并不支持iOS,watch OS,或者Objective-C【2】【3】。在SPM开发的同时,CocoaPods也会持续开发以同时支持Swift和Objective-C。到SPM接近成熟的时候,我们将会评估CocoaPods和CocoaPods社区的最好的前进方向。

2 “为什么不只用git子模块?”

CocoaPods并不是用来下载代码的。当它完成下载工作时,这只是它最小的一部分功能。

对CocoaPods的定位是(交叉)依赖解决方案,(语义上的)版本管理,以及自动“集成到Xcode中”。

最后,即使你仅把CocoaPods看成一个下载器,实际上也使用了其他的SCMs而不只是git。从另一个角度来看,CocoaPods是个黑盒,从本地或HTTP位置控制子版本、Mercurial以及zip/tarball压缩。

3 “如何向CocoaPods捐赠?”

简单的说,我们非常感谢这份好意,本项目(作为一个实体)不接受经济捐赠。我们有一片关于这个的博客帖子

4 “CocoaPods做不了X,所以它没什么用。”

请先看第二点(2),然后除非你告诉我们缺失了什么功能以及它为什么很重要,否则这种情况不可能存在。我们没有擦去Twitter以查看工作,因此请做一个 标记,或者最好是以“拉取请求”的方式

5 “CocoaPods并未做依赖解决方案。”

CocoaPods通常已经做了依赖解决,但在0.35版本之前都缺少自动处理冲突的解决方案。现在,CocoaPods已经能够解决所有可以解决的冲突。

6 “CocoaPods对团队有害,因为它让用户太容易添加过多的依赖。”

这等于在说“我们不应该有汽车”,因为它们让我们懒惰,而我们忘记了走路/跑步。或者“我们不该使用IDEs”,因为它们让我们变成差劲的程序员,不在编辑器中写代码,并且记不得语法。此外,这个原因适用于获取代码(如,git)的根本意义,以及对于是否应该有的讨论。

然而值得讨论的东西是,要让用户负责任。非常讽刺的是,CocoaPods最初的开发者已经被说服了,也认为使用大量的依赖不是好主意。关于如何解决这个问题的切实可行的建议,你可以阅读Manfred Stienstra写的这篇博客帖子

7 “CocoaPods使用了工作空间,而工作空间被认为是用户数据。为什么不使用常见的子工程?”

从Xcode 4开始,苹果正是为了这个目的推出了工作空间

从此以后,他们也在每个xcodeproj文档中添加了工作空间文件,这导致人们认为工作空间只是用户数据。这显然错了,如果你曾经这么认为,那么你应该再忽略工作空间文档了。

注意CocoaPods自身并不需要使用工作空间。如果你更喜欢使用子工程,你也可以这么做,只要运行pod install –no-integrat,这将会让你可以按照你看着爽的方式将pod库整合到你的工程中。

8 “为什么我在使用CocoaPods前不得不安装Ruby?”

你不是必须这么做,macOS自带了Ruby 2.0.0或者更新的版本,预装在/usr/bin/ruby目录下,这是我们的基础,我们必须在这个盒子里工作。


原文链接:《F.A.Q

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值