Ios 第三方库依赖项版本控制策略

Ios 第三方库依赖项版本控制策略,ios,cocoapods,dependency-management,Ios,Cocoapods,Dependency Management,我们正在使用Cocoapods作为项目的依赖关系管理器,我意识到在版本控制方面我们并没有真正的策略 我们的podfile包含各种语法,如乐观运算符、逻辑运算符、精确版本控制。。。等 pod 'RxSwift' pod 'RxCocoa', '~> 3.0' pod 'RxAlamofire', '>= 3.0.3' pod 'RxGesture', '1.0.1' 我非常清楚每个运营商都做些什么,但我不知道什么时候应该选择一个,可能的用例是什么,以及这些运营商的最佳实践 如果可以的

我们正在使用Cocoapods作为项目的依赖关系管理器,我意识到在版本控制方面我们并没有真正的策略

我们的podfile包含各种语法,如乐观运算符、逻辑运算符、精确版本控制。。。等

pod 'RxSwift'
pod 'RxCocoa', '~> 3.0'
pod 'RxAlamofire', '>= 3.0.3'
pod 'RxGesture', '1.0.1'
我非常清楚每个运营商都做些什么,但我不知道什么时候应该选择一个,可能的用例是什么,以及这些运营商的最佳实践


如果可以的话,总是使用最新版本(如
pod'RxSwift'
),或者最好锁定到特定的版本号,或者使用乐观运算符(
~>

这对于stackoverflow来说是一个边缘适当的问题,因为可能会有很多意见。这里有一个客观具体的答案

首先要充分理解

然后,您接受补丁、次要和主要版本依赖关系的容忍度取决于稳定性与对新特性的需求,您希望这些依赖关系与测试功能相交

例如:

  • 如果您不信任依赖项遵循语义版本控制和/或现有版本满足所有需要,请将其锁定到特定的确切版本
  • 如果您想要修复bug,但不关心新功能,请使用
    ~
    操作符接受修补程序更新
  • 如果您想要新功能,但不希望现有版本中断,请允许进行小更新
  • 如果您总是想要最新的,并且愿意处理破坏性的更改,那么根本不要指定版本约束

谢谢您的解释。我将留下这段谷歌开发者视频,这段视频与你对未来访问者的回答非常相似