Я хочу знать, для чего используется «~>», потому что я нахожу, что они одинаковы ниже:
pod 'AFNetworking','~> 2.0.3'
pod 'AFNetworking','2.0.3'
Я хочу знать, для чего используется «~>», потому что я нахожу, что они одинаковы ниже:
pod 'AFNetworking','~> 2.0.3'
pod 'AFNetworking','2.0.3'
~>
(оператор оптимизма) используется, когда вы хотите указать версию «до следующего основного | второстепенный | исправить». Например:
~> 0.1.2
вы получите версию до 0.2 (но не включая 0.2 и выше)
~> 0.1
вы получите версию до 1.0 (но не включая 1.0 и выше)
~> 0
даст вам версию 0 и выше (так же, как если бы она была опущена)
где 0.1.2
будет означать «Я хочу именно эту версию»
'~> 7.6'
, я должен получить все версии от 7.6.0 до 8.0 (не включены). Но при запуске реального pod install
я получаю 7.6, даже если существует версия 7.8. Вы сказали, что это также означает, что я хочу именно эту версию, в чем тогда смысл. Как получить последний, соответствующий правилу ~>
?
- person Jakub Truhlář; 15.10.2016
~>
. Также обратите внимание, что Cocoapods будет разрешать зависимости на основе нескольких других факторов, таких как целевой SDK, совместимость версии с другими модулями, версия Swift и т. д.
- person Alladinian; 15.10.2016
pod install
. Поэтому, если версия 7.8 из приведенного выше примера будет выпущена после моего последнего обновления исходного репозитория, я получу последний известный исходный репозиторий (например, 7.6).
- person Jakub Truhlář; 15.10.2016
0.2
как в 0.2.0
не 0.0.2
- person Alladinian; 02.03.2019
~> 6.0
предоставит вам последнюю версию перед следующей версией, которая является 7.0
, но не включает версию 7.0
.
~> 6.0.0
предоставит вам последнюю версию перед следующей версией, которая является 6.1.0
, но не включает версию 6.1.0
.
????
Хотя большинство приведенных выше ответов верны, они отвечают на вопрос, используя примеры, а не фактически объясняя, что происходит, что затрудняет понимание концепции. Главное, что нужно знать, чтобы понять, как работает оптимистичный оператор, это то, что Cocopods смотрит, насколько специфичен номер версии, чтобы определить, как он будет интерпретировать оптимистичный оператор.
Синтаксис номера версии передает информацию re. тип обновления, которое выпускает разработчик. Этот синтаксис слева направо относится к обновлениям Major.Minor.Patch.
Cocoapods ищет самый конкретный элемент в номере версии, чтобы определить, как он будет интерпретировать оптимистичный оператор. Итак, если номер версии содержит информацию об обновлениях исправлений, т.е. это выглядит примерно так: ~> 1.1.2
- тогда обновления исправлений - это то, на чем Cocopods фокусируется при реализации оптимистического оператора. Аналогичным образом, если номер версии соответствует только незначительным обновлениям, т. е. выглядит примерно так: ~> 1.2
, то Cocoapods будет фокусироваться только на обновлениях, которые являются либо незначительными обновлениями, либо исправлениями при реализации оптимистического оператора.
Номер версии ~> 1.0.1
указывает Cocopods установить самое последнее обновление версии, если это обновление является обновлением PATCH; Основные или второстепенные обновления следует игнорировать.
Номер версии ~> 1.1
сообщает Cocoapods об установке самых последних доступных обновлений, если эти обновления являются либо ИСПРАВЛЕНИЕМ, либо МНОЖЕСТВЕННЫМИ обновлениями, и он должен игнорировать любые основные обновления.
оптимистичный оператор ~>:
'~> 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]:
~> 1.0.0
, ~> 1.0
и ~> 1
.
- person Jonathan.; 29.09.2019