我想知道“~>”是做什么用的,因为我发现它们在下面是一样的:
pod 'AFNetworking','~> 2.0.3'
pod 'AFNetworking','2.0.3'
我想知道“~>”是做什么用的,因为我发现它们在下面是一样的:
pod 'AFNetworking','~> 2.0.3'
pod 'AFNetworking','2.0.3'
~>
(乐观运算符)用于指定版本 'up to next major | 未成年人| 补丁'。例如:
~> 0.1.2
将为您提供最高 0.2的版本(但不包括 0.2 及更高版本)
~> 0.1
将为您提供最高 1.0的版本(但不包括 1.0 及更高版本)
~> 0
将为您提供0 及更高版本(与省略相同)
哪里0.1.2
意味着“我想要这个确切的版本”
~> 6.0
将在下一个版本之前为您提供最新版本,7.0
但不包括该7.0
版本。
~> 6.0.0
将在下一个版本之前为您提供最新版本,6.1.0
但不包括该6.1.0
版本。
虽然上述大多数答案都是正确的,但他们使用示例来回答问题,而不是实际解释正在发生的事情,因此很难理解这个概念。为了理解乐观运算符是如何工作的,关键是 cocoapods 会查看版本号的具体程度,以确定它将如何解释乐观运算符。
版本号的语法传达信息。开发人员发布的更新类型。该语法从左到右指的是 Major.Minor.Patch 更新。
Cocoapods 查看版本号中最具体的元素是什么,以确定它将如何解释乐观运算符。因此,如果版本号包含有关补丁更新的信息 - 即它看起来像这样:~> 1.1.2
- 那么补丁更新是 cocoapods 在实现乐观操作符时关注的内容。同样,如果版本号仅与次要更新一样具体 - 即它看起来像这样:~> 1.2
- 那么 cocoapods 在实现乐观操作符时将只关注次要更新或补丁更新。
版本号~> 1.0.1
告诉 cocoapods 安装最新的版本更新,只要该更新是 PATCH 更新;应忽略主要或次要更新。
版本号~> 1.1
告诉 Cocoapods 安装可用的最新更新,只要这些更新是 PATCH 或 MINOR 更新,它应该忽略任何主要更新。
乐观运算符 ~>:
'~> 0.1.2' Version 0.1.2 and the versions up to 0.2, not including 0.2 and higher
'~> 0.1' Version 0.1 and the versions up to 1.0, not including 1.0 and higher
'~> 0' Version 0 and higher, this is basically the same as not having it.
For more information, regarding versioning policy, [see][1]: