一个问题是在我的Xcode项目中产生警告.这在2.2.3版本中得到了解决(补丁版本更改,即2.2.2中存在问题).
以前我的Podfile使用:
pod 'AFNetworking', '~> 2.0'
这匹配所有版本2.0+但将匹配限制为小于3.0,即忽略了主要版本更改.
由于我需要的更改很重要(我不希望在编码时警告会延迟)并且仅在版本2.2.3+中可用我想要我的pod的规范
pod 'AFNetworking', '>= 2.2.3 & < 3.0'
请注意,我仍然不希望主要版本碰撞一切,如果我只使用:
pod 'AFNetworking', '>= 2.2.3'
因为这也会匹配3.0 ..
问题是Cocoapods不允许这样做并拒绝它解析自己的错误:
ArgumentError - Illformed requirement `">= 2.2.3 & < 3.0"`
参考:
Podfile语法
据我所知,在解析Podfile时,版本规范与正则表达式匹配:
quoted_operators = OPS.keys.map { |k| Regexp.quote k }.join '|' PATTERN = /\A\s*(#{quoted_operators})?\s*(#{Version::VERSION_PATTERN})\s*\z/
文件:cocoapods-core-0.32.1/lib/cocoapods-core/requirement.rb https://github.com/CocoaPods/Core/blob/master/lib/cocoapods-core/requirement.rb
此模式仅允许一个规范..