- Den definitiva guiden för att installera och uppdatera pods
- Du installerar CocoaPods i ett projekt för första gången och har skapat din Podfile
- Du har lagt till en ny pod till din Podfile
- Du vill hämta den senaste versionen av alla pods i din Podfile
- Du vill hämta den senaste versionen av endast en pod i din Podfile
- Du arbetar med en utvecklingspod och vill få dina senaste ändringar
- Du har laddat ner källkoden till ett befintligt projekt som använder CocoaPods
- Du skriver ett skript för att bygga ett projekt på en byggserver
- Xcode rapporterar konstiga byggfel relaterade till pods
- Del 2: Hur det fungerar
- pod update
- pod install
- Sammanfattning
Den definitiva guiden för att installera och uppdatera pods
Skillnaden mellan pod install
och pod update
är subtil, och det är inte alltid tydligt vilket du ska använda. Men om du har en god förståelse för vad dessa kommandon gör får du mycket finare kontroll över hur beroenden hanteras i ditt projekt, så det är värt att känna till skillnaden.
I den första delen av den här artikeln kommer jag att ge dig en lista med recept som visar om du ska köra pod install
eller pod update
i några vanliga situationer. I den andra delen förklarar jag sedan varför de olika kommandona gör olika saker och hur CocoaPods använder filen Podfile.lock
för att få allt att hända.
För att de här recepten ska fungera måste du se till att Podfile
och Podfile.lock
är commitade till källkodskontrollen.
Du installerar CocoaPods i ett projekt för första gången och har skapat din Podfile
pod install
Detta kommer att installera den senaste versionen* av var och en av de pods du angett i din nya Podfile. Den kommer också att skapa en MyProject.xcworkspace
-fil om en sådan inte redan finns.
Du har lagt till en ny pod till din Podfile
pod install
Detta kommer att installera den senaste versionen* av alla nya pods som lagts till i din Podfile och lämna dina andra pods oförändrade.
Om du skulle köra pod update
istället skulle den installera de nya pods och uppdatera var och en av dina befintliga pods till den senaste versionen*.
Du vill hämta den senaste versionen av alla pods i din Podfile
pod update
Detta kommer att gå igenom alla dina pods och se till att den senaste versionen* av var och en är installerad i ditt projekt.
Du vill hämta den senaste versionen av endast en pod i din Podfile
pod update SomePod
Detta kommer att se till att den senaste versionen* av den pod du anger installeras, samtidigt som dina andra pods lämnas oförändrade.
Du arbetar med en utvecklingspod och vill få dina senaste ändringar
pod update MyDevelopmentPod
Detta kommer att se till att den senaste versionen av din pod installeras, samtidigt som dina andra pods lämnas oförändrade.
Du har laddat ner källkoden till ett befintligt projekt som använder CocoaPods
pod install
Detta kommer att installera alla pods i Podfilen med exakt de versioner som tidigare installerades i den här delen av källkoden.
Om du skulle köra pod update
i stället, så skulle det installera den senaste versionen* av varje pod i Podfilen. Detta kan hindra projektet från att byggas om de senaste versionerna inte är kompatibla med annan kod i projektet. Jag skulle rekommendera att köra pod install
för att få koden att byggas och sedan uppdatera pods vid behov på ett kontrollerat sätt.
Du skriver ett skript för att bygga ett projekt på en byggserver
pod install
Detta kommer att installera alla pods i Podfilen med exakt de versioner som installerades i den version som byggs. Detta är viktigt för ett stabilt bygge, eftersom detta är de versioner som koden utvecklades mot, och det betyder att varje bygge av den delen av koden kommer att använda samma podversioner. Om du skulle använda pod update
istället kan din build potentiellt använda olika versioner av pods varje gång den byggs.
Xcode rapporterar konstiga byggfel relaterade till pods
Detta händer ibland efter att du har uppdaterat pods, eller efter att du har bytt mellan grenar av ett projekt som innehåller samma pods i olika versioner.
Leta bort /Pods
-katalogen och kör sedan pod install
Detta kommer att återinstallera alla pods i podfilen i exakt de versioner som tidigare var installerade, och det räcker oftast för att räta ut eventuella problem som Xcode kan råka ut för.
Ibland föreslår folk att man raderar /Pods
-katalogen och Podfile.lock
-filen och sedan kör pod install
. Detta kommer att lösa eventuella problem med Xcode, men kommer också att uppgradera varje pod i podfilen till den senaste versionen*.
Del 2: Hur det fungerar
Skillnaden mellan pod install
och pod update
ligger i hur de interagerar med Podfile.lock
-filen. Denna fil används för att lagra den exakta versionen av varje pod som för närvarande är installerad i ditt projekt.
Det enklaste sättet att förstå hur det fungerar är att titta på följande diagram (ansvarsfriskrivning: detta är en enkel schematisk bild snarare än ett exakt tekniskt diagram).