2013-11-26 12 views
17

Chcę wiedzieć, co „~>” służy do, bo uważam, że są takie same poniżej:co jest wykorzystanie „~>” w cocoapods

pod 'AFNetworking','~> 2.0.3' 

pod 'AFNetworking','2.0.3' 
+0

Zasadniczo robisz to, aby Twoja aplikacja nie zepsuła się z żadnymi wyższymi wersjami (prawdopodobnie niezgodnymi pods). Nadal może stosować/korzystać z "drobnych" aktualizacji. – Honey

+0

Jeśli określasz wersję za pomocą ~> załóż w pliku ur pod, np. Pod 'AFNetworking', '~> 2.0.3', to zostanie ona zainstalowana, jeśli jest nowa wersja 2.0.x i do 3.0, gdzie tak jakbyś był określając przy pomocy "AFNetworking", "2.0.3", zainstaluje tylko tę wersję. –

Odpowiedz

25

No ~> (optymistyczne operator ) jest używany, gdy chcemy określić wersję „w górę do najbliższego głównych | minor | łatka ". Na przykład:

~> 0.1.2 będzie Ci wersję do 0,2 (ale nie w tym 0,2 i wyższe)

~> 0.1 będzie Ci wersję do 1,0 (ale nie w tym 1.0 i wyższe)

~> 0 będzie Ci wersję 0 i wyższy (tak samo, jak gdyby został pominięty)

gdzie 0.1.2 oznaczałoby „Chcę dokładnie tę wersję”

Here is some more info on this

+0

Jestem ciekaw czegoś, jeśli podam, powiedzmy: '~ ~ 7.6'' Powinienem pobrać każdą wersję od 7.6.0 do 8.0 (nie wliczone). Ale kiedy uruchamiam prawdziwą 'podinstalację', otrzymuję 7.6, nawet jeśli istnieje wersja 7.8. Powiedziałeś, że oznacza to również "chcę tej dokładnej wersji", o co wtedy chodzi. Jak zdobyć laty, które pasują do reguły '~>'? –

+0

@ JakubTruhlář Dla dokładnej wersji odnoszę się do specyfikatora bez '~>'. Zauważ też, że cocoapody rozwiążą zależności w oparciu o kilka innych czynników, takich jak docelowy sdk, zgodność wersji z innymi podsystemami, szybka wersja itp. – Alladinian

+0

Jedna rzecz przychodzi mi na myśl. Od wersji Cocoapods 1.0 repozytorium źródłowe nie jest aktualizowane w ramach 'podinstalacji'. Więc jeśli wersja 7.8 z powyższego przykładu zostanie wydana po mojej ostatniej aktualizacji źródła repo, otrzymam ostatnie źródło repo zna (np. 7.6) –

-1

optymistyczne operator ~>:

'~> 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]: 
+0

link jest zepsuty, chociaż istnieje link do bieżącej dokumentacji – Antek

+0

Zamiast downvotingu mógłbyś zaktualizować link :) Niektóre konstruktywne prace. –

+0

masz rację, nawet jeśli to nie ja spadam! :) Przepraszamy, powinienem był to zrobić. (mam na myśli, że powinienem był edytować, a nie przegłosować;)) – Antek