- Konečný průvodce instalací a aktualizací podů
- Poprvé nastavujete CocoaPods v projektu a vytvořili jste si soubor Podfile
- Přidali jste do svého Podsouboru nový pod
- Chcete získat nejnovější verzi všech podů ve vašem souboru Podfile
- Chcete získat nejnovější verzi pouze jednoho z podů ve vašem souboru Podfile
- Pracujete s vývojovým podem a chcete získat nejnovější změny
- Stáhli jste zdrojový kód existujícího projektu, který používá CocoaPods
- Píšete skript pro sestavení projektu na sestavovacím serveru
- Xcode hlásí podivné chyby sestavení týkající se podů
- Část 2: Jak to funguje
- aktualizace pod
- pod install
- Shrnutí
Konečný průvodce instalací a aktualizací podů
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).
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.