Rozdíl mezi pod install a pod update je jemný a ne vždy je jasné, který máte použít. Dobré pochopení toho, co tyto příkazy dělají, vám však dává mnohem jemnější kontrolu nad tím, jak jsou ve vašem projektu spravovány závislosti, takže se vyplatí znát tento rozdíl.

V první části tohoto článku vám poskytnu seznam receptů, které ukazují, zda byste měli v některých běžných situacích spustit pod install nebo pod update. Ve druhé části pak vysvětlím, proč jednotlivé příkazy dělají různé věci a jak CocoaPods používá soubor Podfile.lock, aby se to všechno uskutečnilo.

Aby tyto recepty fungovaly, ujistěte se, že Podfile a Podfile.lock jsou odevzdány do správy zdrojů.

Poprvé nastavujete CocoaPods v projektu a vytvořili jste si soubor Podfile

pod install

Dojde k instalaci nejnovější verze* každého z podů, které jste uvedli v novém souboru Podfile. Vytvoří také soubor MyProject.xcworkspace, pokud ještě žádný neexistoval.

Přidali jste do svého Podsouboru nový pod

pod install

To nainstaluje nejnovější verzi* všech nových podů přidaných do vašeho Podsouboru a ostatní pody ponechá beze změny.

Pokud byste místo toho spustili pod update, nainstalovalo by to nové pody a aktualizovalo by to každý z vašich stávajících podů na jeho nejnovější verzi*.

Chcete získat nejnovější verzi všech podů ve vašem souboru Podfile

pod update

To projde všechny vaše pody a ujistí se, že je ve vašem projektu nainstalována nejnovější verze* každého z nich.

Chcete získat nejnovější verzi pouze jednoho z podů ve vašem souboru Podfile

pod update SomePod

To zajistí, že bude nainstalována nejnovější verze* vámi určeného podu, zatímco ostatní pody zůstanou beze změny.

Pracujete s vývojovým podem a chcete získat nejnovější změny

pod update MyDevelopmentPod

To zajistí, že bude nainstalována nejnovější verze podu, zatímco ostatní pody zůstanou beze změny.

Stáhli jste zdrojový kód existujícího projektu, který používá CocoaPods

pod install

Tímto způsobem se nainstalují všechny pody v souboru Podfile přesně ve verzích, které byly dříve nainstalovány v tomto výřezu zdrojového kódu.

Pokud byste místo toho spustili pod update, nainstalovala by se nejnovější verze* každého z podů v souboru Podfile. To by mohlo zabránit sestavení projektu, pokud by nejnovější verze nebyly kompatibilní s ostatním kódem v projektu. Doporučuji spustit pod install, aby se kód začal sestavovat, a pak podle potřeby kontrolovaně aktualizovat pody.

Píšete skript pro sestavení projektu na sestavovacím serveru

pod install

Tento skript nainstaluje všechny pody v souboru Podfile přesně ve verzích, které byly nainstalovány v sestavované verzi. To je důležité pro stabilní sestavení, protože to jsou verze, podle kterých byl kód vyvíjen, a znamená to, že každé sestavení tohoto výseku kódu bude používat stejné verze podů. Pokud byste místo toho použili pod update, mohlo by sestavení při každém sestavení potenciálně používat různé verze podů.

Xcode hlásí podivné chyby sestavení týkající se podů

To se občas stává po aktualizaci podů nebo po přepnutí mezi větvemi projektu, které obsahují stejné pody v různých verzích.

Smažte adresář /Pods a poté spusťte pod install

Tím se znovu nainstalují všechny pody v souboru Podfile přesně ve verzích, které byly nainstalovány dříve, a obvykle to stačí k odstranění všech problémů, na které může Xcode narazit.

Někdy lidé doporučují smazat adresář /Pods a souborPodfile.lock a poté spustit pod install. Tím se vyřeší veškeré problémy s Xcode, ale také se aktualizuje každý z podů v souboru Podfile na jeho nejnovější verzi*.

Část 2: Jak to funguje

Rozdíl mezi pod install a pod update spočívá v tom, jak spolupracují se souborem Podfile.lock. Tento soubor slouží k uložení přesné verze jednotlivých podů, které jsou aktuálně nainstalovány ve vašem projektu.

Nejjednodušší způsob, jak pochopit, jak to funguje, je podívat se na následující schéma (upozornění: jedná se spíše o jednoduché schéma než o přesné technické schéma).

Instalace pod vs. aktualizace pod

aktualizace pod

pod update při kontrole verzí ignoruje Podfile.lock. Vyhledá nejnovější dostupnou verzi* pod a nainstaluje ji, pokud ještě není nainstalována.

pod install

pod install se při kontrole verzí nejprve podívá do Podfile.lock. Pokud je v Podfile.lock uvedena verze pod, nainstaluje přesně tuto verzi. Pokud tento pod není uveden v Podfile.lock (nebo pokud Podfile.lock ještě neexistuje), zachová se stejně jako v případě pod update, tj. najde nejnovější dostupnou verzi* a nainstaluje ji.

V obou případech pak CocoaPods aktualizuje Podfile.lock se všemi novými čísly verzí, které byly nainstalovány.

To umožňuje konzistentně používat verze podů v různých instalacích projektu (tj.např. při instalaci z úložiště, u více členů týmu nebo na sestavovacím serveru), a proto by měl být Podfile.lock odevzdán do správy zdrojů.

Shrnutí

V tomto článku jsem uvedl recepty ukazující, zda v řadě běžných situací spustit pod install nebo pod update. Poté jsem popsal, jak a proč tyto dva příkazy fungují různými způsoby. Pokud vám článek přišel vhod, zatleskejte mu a/nebo ho sdílejte a sledujte mě pro další užitečné články.

admin

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.

lg