- A podok telepítésének és frissítésének végleges útmutatója
- Először állítod be a CocoaPods-t egy projektben, és létrehoztad a Podfile
- Új podot adtál hozzá a Podfile-odhoz
- A Podfile-odban lévő összes pod legújabb verzióját akarod
- A Podfile
- Egy fejlesztői poddal dolgozik, és szeretné megkapni a legújabb módosításokat
- Letöltötte egy meglévő, CocoaPodokat használó projekt forrását
- Skriptet írsz egy projekt építéséhez egy build szerveren
- Az Xcode furcsa build hibákat jelent a podokkal kapcsolatban
- 2. rész: Hogyan működik
- pod update
- pod install
- Összefoglaló
A podok telepítésének és frissítésének végleges útmutatója
Az pod install
és a pod update
közötti különbség finom, és nem mindig egyértelmű, hogy melyiket kell használni. De ha jól érted, hogy mit csinálnak ezek a parancsok, sokkal finomabb kontrollt kapsz a függőségek kezelésének módjára a projektedben, ezért érdemes ismerni a különbséget.
A cikk első részében egy receptlistát adok, amely megmutatja, hogy a pod install
vagy a pod update
parancsot kell-e futtatnod néhány gyakori helyzetben. Aztán a második részben elmagyarázom, hogy a különböző parancsok miért csinálnak különböző dolgokat, és hogyan használja a CocoaPods a Podfile.lock
fájlt, hogy mindez megtörténjen.
Hogy ezek a receptek működjenek, győződj meg róla, hogy a Podfile
és a Podfile.lock
le van kötve a forráskontrolban.
Először állítod be a CocoaPods-t egy projektben, és létrehoztad a Podfile
pod install
Ez az új Podfile-ban megadott podok mindegyikének legújabb verzióját* fogja telepíteni. Létrehoz egy MyProject.xcworkspace
fájlt is, ha még nem létezett.
Új podot adtál hozzá a Podfile-odhoz
pod install
Ez a Podfile-odhoz hozzáadott új podok legújabb verzióját* fogja telepíteni, a többi podot változatlanul hagyva.
Ha ehelyett a pod update
-et futtatnád, az telepítené az új podokat, és minden egyes meglévő pododat frissítene a legújabb verzióra*.
A Podfile-odban lévő összes pod legújabb verzióját akarod
pod update
Ez végigmegy az összes pododon, és biztosítja, hogy mindegyikből a legújabb verzió* legyen telepítve a projektedben.
A Podfile
pod update SomePod
Ez biztosítja, hogy a megadott pod legújabb verziója* kerüljön telepítésre, miközben a többi podot változatlanul hagyja.
Egy fejlesztői poddal dolgozik, és szeretné megkapni a legújabb módosításokat
pod update MyDevelopmentPod
Ez biztosítja, hogy a pod legújabb verziója kerüljön telepítésre, miközben a többi pod változatlanul marad.
Letöltötte egy meglévő, CocoaPodokat használó projekt forrását
pod install
Ez a Podfile-ban lévő összes podot pontosan azokkal a verziókkal fogja telepíteni, amelyek korábban a forráskód ezen vágásában telepítve voltak.
Ha ehelyett a pod update
futtatását végezné, akkor a Podfile-ban lévő összes pod legújabb verzióját* telepítené. Ez megakadályozhatja a projekt építését, ha a legújabb verziók nem kompatibilisek a projektben lévő más kódokkal. Javasolnám a pod install
futtatását a kód építéséhez, majd a podok szükség szerinti frissítését ellenőrzött módon.
Skriptet írsz egy projekt építéséhez egy build szerveren
pod install
Ez a Podfile-ban lévő összes podot pontosan azokkal a verziókkal fogja telepíteni, amelyek az építés alatt álló verzióban telepítve voltak. Ez fontos egy stabil build szempontjából, mert ezek azok a verziók, amelyek ellenében a kódot fejlesztették, és ez azt jelenti, hogy az adott kódrészlet minden buildje ugyanazokat a podverziókat fogja használni. Ha ehelyett a pod update
-t használná, a build potenciálisan a podok különböző verzióit használná minden egyes buildeléskor.
Az Xcode furcsa build hibákat jelent a podokkal kapcsolatban
Ez esetenként podok frissítése után történik, vagy egy projekt olyan ágai közötti váltás után, amelyek ugyanazokat a podokat tartalmazzák különböző verziókkal.
Törölje a /Pods
könyvtárat, majd futtassa a pod install
Az összes podot újratelepíti a Podfile-ban, pontosan a korábban telepített verziókkal, és ez általában elég ahhoz, hogy az Xcode rendezze az esetleges problémákat.
Néha javasolják a /Pods
könyvtár és aPodfile.lock
fájl törlését, majd a pod install
futtatását. Ez megoldja az Xcode minden problémáját, de a Podfile-ban lévő podok mindegyikét a legújabb verzióra frissíti*.
2. rész: Hogyan működik
A pod install
és a pod update
közötti különbség abban rejlik, hogy hogyan lépnek kapcsolatba a Podfile.lock
fájllal. Ez a fájl arra szolgál, hogy tárolja az egyes podok pontos verzióját, amelyek jelenleg telepítve vannak a projektben.
A működés megértésének legegyszerűbb módja, ha megnézzük a következő ábrát (disclaimer: ez inkább egy egyszerű vázlat, mint egy pontos technikai diagram).
pod update
pod update
a verziók ellenőrzése során figyelmen kívül hagyja a Podfile.lock
-öt. A pod legújabb elérhető verzióját* keresi, és telepíti, ha még nincs telepítve.
pod install
pod install
a verziók keresésekor először a Podfile.lock
-t keresi. Ha a pod egy verziója szerepel a Podfile.lock
-ben, akkor pontosan ezt a verziót fogja telepíteni. Ha az adott pod nem szerepel a Podfile.lock
-ben (vagy ha a Podfile.lock
még nem létezik), akkor úgy fog viselkedni, mint a pod update
esetében, azaz megkeresi a legújabb elérhető verziót* és azt telepíti.
A CocoaPods mindkét esetben frissíti a Podfile.lock
-t a telepített új verziószámokkal.
Ez teszi lehetővé, hogy a pod verziókat következetesen használjuk egy projekt különböző telepítései között (i.pl. tárolóból, több csapattag között vagy egy build szerveren történő telepítéskor), és ez az oka annak, hogy a Podfile.lock
-öt a forráskontrolba kell commitolni.
Összefoglaló
Ebben a cikkben recepteket adtam, amelyek megmutatják, hogy számos gyakori helyzetben a pod install
vagy a pod update
futtatását válasszuk. Ezután leírtam, hogy a két parancs hogyan és miért működik különböző módon. Ha hasznosnak találta, kérem, tapsolja meg és/vagy ossza meg, és kövessen a további hasznos cikkekért.