cocoapods中"〜>"的用法是什么?

Mil*_*0R3 51 ios cocoapods podfile podfile-lock

我想知道"〜>"用于什么,因为我发现它们在下面是相同的:

pod 'AFNetworking','~> 2.0.3'

pod 'AFNetworking','2.0.3'
Run Code Online (Sandbox Code Playgroud)

All*_*ian 70

好了,~>(在乐观时,要指定一个版本"达下一个操作员)用于 | 未成年人 | 补丁 '.例如:

~> 0.1.2 会得到一个高达0.2的版本(但不包括0.2和更高版本)

~> 0.1 会得到一个高达1.0的版本(但不包括1.0和更高版本)

~> 0 会得到0及更高的版本(就像它被省略一样)

哪里0.1.2意味着'我想要这个确切的版本'

这里有一些关于此的更多信息


Abo*_*tef 8

  • ~> 6.0将在下一个版本之前为您提供最新版本,7.0但不包括该7.0版本。

  • ~> 6.0.0将在下一个版本之前为您提供最新版本,6.1.0但不包括该6.1.0版本。


Adn*_*tab 6

乐观运算符〜>:

'~> 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]:
Run Code Online (Sandbox Code Playgroud)

  • 您可以更新链接,而不是投票:)一些建设性的工作。 (3认同)
  • 你是对的,尽管不是我反对它!:) 抱歉,应该这样做。(我的意思是我应该编辑,而不是否决;)) (2认同)

the*_*ing 6

虽然上面的大多数答案都是正确的,但他们使用示例来回答问题,而不是实际解释正在发生的事情,这使得理解这个概念变得困难。为了理解乐观运算符如何工作,需要了解的关键一点是,cocoapods 会查看版本号的具体程度,以确定它将如何解释乐观运算符。

版本号的语法传达信息。开发人员发布的更新类型。该语法从左到右指的是 Major.Minor.Patch 更新。

Cocoapods 会查看版本号中最具体的元素,以确定它将如何解释乐观运算符。因此,如果版本号包含有关补丁更新的信息 - 即它看起来像这样:~> 1.1.2- 那么补丁更新就是 cocoapods 在实现乐观运算符时关注的重点。同样,如果版本号仅与次要更新一样具体 - 即它看起来像这样:~> 1.2- 那么在实现乐观运算符时,cocoapods 将仅关注次要更新或补丁更新。

版本号~> 1.0.1告诉 cocoapods 安装最新版本更新,只要该更新是 PATCH 更新;应忽略主要或次要更新。

版本号~> 1.1告诉 Cocoapods 安装最新的可用更新,只要这些更新是 PATCH 或 MINOR 更新,并且它应该忽略任何主要更新。