很长一段时间,我们在xcode项目中使用cocoapods
。
Cocoapods有替代品吗?
Cocoapods有一个很好的替代品,即Carthage,它是iOS和macOS的简单依赖管理器,它是由Github的开发人员开发的。
而不是静态库,Carthage使用动态框架,这是支持用Swift编写并支持iOS 8.0及更高版本的应用程序的唯一方式。
迦太基与CocoaPods
你可以找到更多细节here。
我正在回答,没有考虑你的背景,它不是特别指向你,而是提供可能的解决方案并解释一些原因,而其他人可能会觉得这很有用。
我们经常使用CocoaPods
作为开源代码,它是“免费的”(请注意引号,我不是在谈论各种许可证)。我也在我的公司使用CocoaPods
和私人代码。
它可能有一些我们无法修复的警告,因为它将在pod安装上被替换。
好吧,你可以使用inhibit_warnings
来抑制pod的警告。
还能做些什么?通过执行拉取请求修复代码,在存储库上打开问题等。是时候打开票证并“回馈”社区?
此外,您可以拥有存储库的克隆,使用:path =>
指向您自己的克隆与您自己的修复(检查https://guides.cocoapods.org/syntax/podfile.html#pod),请注意,更容易修改不同的pod的代码,因为XCode不会麻烦你用“”MyFileInMyPod“被锁定进行编辑,你可能无法保存你的更改。你要解锁吗?”
好吧,如果你还想要更新,我建议你有一个分支,以便挑选或隐藏你的修改。
如果升级了Swift / iOS / Xcode,有时我们没有获得更新的pod。
我假设这个问题主要与Swift的变化有关,因为不幸的是,这就是为什么我没有亲自进入Swift的原因,是因为Swift改变,演变,以及Swift 1,2,2.2 / 2.3和3之间,有很多休息时间的变化。 当您采用一种语言(及其框架)时,您需要考虑可能的演变并可能适应它们。 现在,如果我们谈论“免费”(如前所述)代码,您是否期望开发人员在每个版本上都是最新的?他们中的许多人都有“真实/其他”工作,并在空闲时间完成工作。 我知道当有人提供“免费代码”时有一些讨论,其他人依赖它,然后开发人员有责任吗?他/她是否需要保持最新状态?解决所有问题?他/她是否需要维持它直到他/她死? 您有依赖项,然后适应并接受依赖项。这就像更新macOS而不是检查所有最喜爱和最有用的应用程序是否与新操作系统版本兼容。
请记住,即使我认为你的问题对于一个非常有用且开源代码的“免费”工具有点咄咄逼人,但它并不是针对你的。