什么是Xcode中的cocoapods的替代品?

时间:2018-01-03 03:50:28

标签: ios xcode cocoapods

很长一段时间以来,我们在xcode项目中使用cocoapods

Cocoapods有替代品吗?

2 个答案:

答案 0 :(得分:2)

有一个很好的替代Cocoapods,即 Carthage ,它是iOS和macOS的简单依赖管理器,它是由Github的开发人员开发的。

Carthage不使用静态库,而是使用动态框架,这是支持使用Swift编写并支持iOS 8.0及更高版本的应用程序的唯一支持方式。

Carthage vs CocoaPods

  • CocoaPods在集成时创建了一个新项目,并创建了一个新的工作空间,在迦太基的情况下你不需要。
  • 不需要像Podspec这样的集中式存储库文件。(这是第三方库的创建者)。
  • 要使用Carthage,您的项目必须支持iOS 8.0或更高版本,因为它使用动态框架。
  • 当您使用Carthage安装第三方库时,它会从Git克隆每个存储库并将每个依赖项构建到一个框架中,该框架由您的应用程序使用。

您可以找到更多详情here

答案 1 :(得分:0)

我正在回答,没有考虑你的背景,它不是特别指向你,而是提供可能的解决方案并解释一些原因,而其他人可能会觉得这很有用。

我们经常使用CocoaPods作为开源代码,它是“免费的”(请注意引号,我不是在讨论各种许可证)。我还在公司中使用CocoaPods私有代码。

  

它可能有一些我们无法修复的警告,因为它会被替换掉   pod install。

嗯,您可以使用inhibit_warnings来抑制广告连播的警告 还能做些什么?通过执行拉取请求来修复代码,在存储库上打开问题等。是时候打开票证并“回馈”社区?
此外,您可以拥有存储库的克隆,使用:path =>指向您自己的克隆,并使用您自己的修复程序(检查https://guides.cocoapods.org/syntax/podfile.html#pod),请注意,修改不同容器的代码更容易方式,因为XCode不会麻烦你“”MyFileInMyPod“被锁定进行编辑,你可能无法保存你的更改。你要解锁它吗?”
好吧,如果你还想要更新,我建议你有一个分支,以便挑选或隐藏你的修改。

  

如果有Swift / iOS / Xcode,有时候我们还没有获得更新的pod   升级。

我假设这个问题主要与Swift的变化有关,因为不幸的是,这就是为什么我没有亲自进入Swift的原因,是因为Swift改变,演变,以及Swift 1,2,2.2 /之间2.3和3,有许多突破变化 当您采用一种语言(及其框架)时,您需要考虑可能的演变并可能适应它们 现在,如果我们谈论“免费”(如前所述)代码,您是否期望开发人员在每个版本上都是最新的?他们中的许多人都有“真实/其他”工作,并在空闲时间完成工作。
我知道当有人提供“免费代码”时有一些讨论,其他人依赖它,然后开发人员有责任吗?他/她是否需要保持最新状态?解决所有问题?他/她是否需要维持它直到他/她去世?
您有依赖项,然后适应并接受依赖项。这就像更新macOS而不是检查所有最喜爱和最有用的应用程序是否与新操作系统版本兼容。

请记住,即使我认为你的问题对于一个非常有用且开源代码的“免费”工具有点咄咄逼人,但它不是针对你的。