CocoaPods är ett lättanvänt beredskapshanteringsverktyg för utveckling av iOS och OS X. Även om CocoaPods är ganska tydlig och enkel att använda, känner jag mig att många kakaoutvecklare är ovilliga att prova. I denna handledning kommer jag att visa dig hur du börjar med CocoaPods på mindre än fem minuter.
CocoaPods är ett verktyg för beredskapshantering för utveckling av iOS och OS X. Det gör det enkelt och enkelt att hantera tredjepartsbibliotek i ett Xcode-projekt. CocoaPods har fått stor dragkraft i kakaosamhället, och som ett resultat ger hundratals open source-bibliotek nu stöd för CocoaPods. För att få en uppfattning om vilka bibliotek som finns tillgängliga via CocoaPods, besök CocoaPods hemsida och sök efter några av dina favorit tredje partsbibliotek. Företag som TestFlight, Mixpanel och Google gör sina bibliotek tillgängliga via CocoaPods.
Att arbeta med tredjepartsbibliotek i ett Xcode-projekt är inte alltid enkelt och det kan ofta vara en smärta, särskilt när man integrerar bibliotek som inte är ARC-bibliotek i ett ARC-aktiverat projekt. Eloy Durán startade CocoaPods projektet för att underlätta denna smärta. Innan jag bytte till CocoaPod gjorde jag vad de flesta utvecklare gör; de manuellt kopierar källfilerna från tredje parts bibliotek till ett Xcode-projekt och sammanställer dessa filer med resten av projektet. Trots att den här metoden fungerade bra var uppdateringen av ett projekt beroende av en besvärlig och felaktig process.
CocoaPods gör det lättare och intuitivt att hantera projektets beroenden. Du behöver bara ange vilka beroenden eller pods som du vill inkludera i ditt projekt och CocoaPods tar hand om resten. Uppdatering av en pod till en ny version är lika enkelt som att exekvera ett enda kommando på kommandoraden. Om du har undvikit kommandoraden tidigare kan det vara en bra tid att bli bekant med den.
En annan stor egenskap hos CocoaPods är att den distribueras som en Ruby-pärla. Detta gör att CocoaPod är praktiskt taget smärtfri. För att installera CocoaPods-pärlan måste systemet ha Ruby och RubyGems installerat. Rädsla inte för att både Ruby och RubyGems troligen redan är installerade på din dator.
Öppna ett nytt Terminalfönster och skriv gem -v
för att avgöra om RubyGems är installerat på ditt system. Om du behöver hjälp med att installera Ruby eller RubyGems, skrev Andrew Burgess en bra handledning om RubyGems på Nettuts +. Om du stöter på problem med att installera CocoaPods är chansen att Andrews artikel har lösningen på ditt problem.
Innan du installerar CocoaPods, se till att uppdatera RubyGems genom att köra följande kommando på kommandoraden:
pärla uppdatering - system
Beroende på din systemkonfiguration kan det vara nödvändigt att prefixa det här kommandot med sudo
.
Om du vill läsa mer om Ruby och Rubygems skrev Jeffrey Way en bra artikel om Ruby on Net Tuts +. Handledningen av Andrew Burgess som jag nämnde tidigare är en del av en djupgående serie som heter Ruby for Newbies. Det är definitivt värt att kolla.
Installera CocoaPods är enkelt när Ruby and RubyGems är installerade. Kör bara följande:
pärla installera cocoapods
Installera sedan CocoaPods genom att köra pod setup
kommando. Under installationsprocessen bildas CocoaPods miljö och a .cocoapods
katalog skapas i din hemmapp. Den här dolda mappen innehåller alla tillgängliga podspecifikationer eller podspecifikationer.
I stället för att förklara hur CocoaPods fungerar, är det mycket lättare att visa dig genom att skapa ett enkelt Xcode-projekt med CocoaPods. Öppna Xcode och skapa ett nytt projekt baserat på Tom applikation mall. Namn på projektet CocoaPods och se till att aktivera ARC (Automatic Reference Counting) för projektet (figur 1).
Figur 1Nu när vi skapade projektet måste vi lägga till en Podfile. En Podfile liknar en Gemfile. Det är en textfil som innehåller information om projektet och det inkluderar också projektets beroenden, det vill säga de bibliotek som hanteras av CocoaPods. Stäng Xcode-projektet och öppna ett nytt Terminal-fönster. Bläddra till roten till ditt Xcode-projekt och skapa en ny Podfile genom att köra Peka på Podfile
i terminalen. De Rör
kommandot uppdaterar ändrad datum för en fil, men det skapar filen för dig om den inte existerar, vilket är exakt vad vi vill ha. Se till att skapa Podfile i roten till ditt Xcode-projekt.
Peka på Podfile
Öppna Podfile i din favorit textredigerare. Vid skrivning av denna handledning är den nuvarande versionen av CocoaPods 0,16. I den här versionen är det nödvändigt att ange plattformen, iOS eller OS X. Det här är inte längre nödvändigt i nästa version av CocoaPods (0.17). I det här exemplet säger vi CocoaPods som vi riktar mot iOS-plattformen som visas nedan. Det är möjligt att ange projektets installationsmål, men detta är valfritt. Standardinställningsmålet är 4,3 för iOS och 10,6 för OS X.
plattform: ios, '6.0'
Med den angivna plattformen är det dags att skapa listan över beroenden för projektet. Ett beroende består av sökordet pod
följt av namnet på beroende eller pod. En pod är precis som en pärla, ett beroende eller ett bibliotek som du vill inkludera i ett projekt eller en applikation. Du kan eventuellt ange vilken version av beroendet som visas nedan.
pod 'SVProgressHUD', '0.9'
Genom att utelämna en pods versionsnummer, kommer CocoaPods att använda den senaste versionen som finns tillgänglig (det vill du ha det mesta av). Du kan också prefixera versionsnumret med en specifikation för att ge CocoaPods mer kontroll över vilken version som ska användas. Angivarna är oftast självförklarande (>, > =
, <
, <=
), men en specifierare, ~>
, kan tyckas udda om du inte är bekant med RubyGems. Jag ska förklara vad ~>
betyder i exemplet nedan. Podspecifikationen som visas nedan visar att versionen av AFNetworking-biblioteket ska ligga mellan 1.0.1
och 1,1
men med undantag för det senare. Detta är mycket användbart om du vill ge CocoaPods möjlighet att uppdatera projektets beroenden när mindre utgåvor (buggfixar) är tillgängliga, men utesluter stora utgåvor som kan innehålla API-ändringar som kan bryta något i ditt projekt.
pod 'AFNetworking', '~> 1.0.1'
En beroendeförklaring har många fler konfigurationsalternativ, som kan ställas in i Podfile. Om du vill arbeta med blödningskantversionen av ett bibliotek kan du till exempel ersätta en pods versionsnummer med :huvud
enligt nedanstående. Du kan även berätta för CocoaPods vilken källa du ska använda genom att ange gitförvaret eller hänvisa CocoaPods till en lokal kopia av biblioteket. Dessa är mer avancerade funktioner i CocoaPods.
pod 'AFNetworking': huvudpod 'SVProgressHUD',: git => 'https://github.com/samvermette/SVProgressHUD' pod 'ViewDeck',: local => '~ / Utveckling / Bibliotek / ViewDeck'
Med vår specificerade lista över beroenden är det dags att fortsätta installationsprocessen. Uppdatera Podfile enligt nedan och kör pod installera
i terminalen. Se till att du kör detta kommando i roten till ditt Xcode-projekt där du också skapade projektets Podfile.
plattform: IOS, '6.0' pod 'ViewDeck', '~> 2.2.2' pod 'AFNetworking', '~> 1.1.0' pod 'SVProgressHUD', '~> 0.9.0' pod 'HockeySDK' > 3,0,0 '
pod installera
CocoaPod inspekterar listan över beroenden och installerar varje beroende som anges i projektets Podfile. Utmatningen på kommandoraden visar vad CocoaPods gör under huven. De två sista raderna är speciellt intressanta för oss; CocoaPods skapar en Xcode-arbetsyta och lägger till vårt projekt i den arbetsytan. Det skapar också ett nytt projekt som heter Pods, lägger till de listade beroenden till det projektet och länkar det statiskt till ett bibliotek. Det nyskapade Pods-projektet läggs också till i samma arbetsyta (figur 2).
Lösning av beroende av./ Podfile 'Uppdatering av speciella arkiv Cocoapods 0.17.0.rc7 är tillgänglig. Lösning av beroenden för måletdefault "(iOS 6.0) Nedladdning av beroenden Installera AFNetworking (1.1.0) Installera HockeySDK (3.0.0) Installera SVProgressHUD (0.9) Installera ViewDeck (2.2.5) Generera supportfiler 2013-03-28 11: 13: 54.663 xcodebuild [1352 : 1207] XcodeColors: load (v10.1) 2013-03-28 11: 13: 54,665 xcodebuild [1352: 1207] XcodeColors: pluginDidLoad: [!] Från och med nuCocoaPods.xcworkspace'. integreralibPods.a "in i målCocoaPods 'av Xcode-projektet./CocoaPods.xcodeproj'.
figur 2 När du kör pod installera
kommando, säger CocoaPods att vi borde använda CocoaPods.xcworkspace
från och med nu. Xcode-arbetsytor är en viktig del av hur CocoaPod fungerar. En Xcode-arbetsyta är en behållare som grupperar ett eller flera Xcode-projekt, vilket gör det enklare att arbeta med flera projekt. Som vi såg tidigare skapar CocoaPods ett nytt projekt för dig som heter Pods
, och det lägger automatiskt till det här projektet till en ny Xcode-arbetsyta. Projektet som vi började med läggs också till i den här arbetsytan. Den viktigaste fördelen är att din kod och projektets beroenden är strikt separerade. Berörelserna i Pods-projektet är statiskt kopplade till ett bibliotek som du kan se i Bygga faser fliken i vårt projekt (figur 3). Det är viktigt att komma ihåg att använda den arbetsyta som skapats av CocoaPods istället för det projekt vi började med. Vårt projekt är nu klart för oss och vi kan börja använda de bibliotek som anges i projektets Podfile.
Det är uppenbart att CocoaPods gör det lättare att snabbt skapa ett projekt med flera beroenden. Uppdatering av beroenden blir dock också enklare. Om ett av projektets beroenden har fått en stor uppdatering och du vill använda den här uppdateringen i ditt projekt, behöver du bara uppdatera projektets Podfile och köra pod uppdatering
på kommandoraden. CocoaPods uppdaterar ditt projekt beroenden för dig.
CocoaPods pärla har många fler knep upp på ärmen. Även om du kan använda CocoaPods hemsida för att bläddra i listan över tillgängliga pods, låter CocoaPods-pärlan dig också lista (lista
) och sökning (Sök
) tillgängliga podspecifikationer. Öppna ett nytt Terminal-fönster och skriv in kommandot pod sökning framsteg
att söka efter bibliotek som innehåller ordet framsteg. Fördelen med att söka efter pods med kommandoraden är att du bara ser informationen som är viktig för dig, såsom podens källa och tillgängliga versioner.
Springa det pod
kommando (utan några alternativ) för att se en komplett lista över tillgängliga alternativ. CocoaPods manual är utmärkt, så se till att läsa den om du stöter på problem eller har några frågor.
Du borde nu ha en grundläggande förståelse för CocoaPods så att du kan använda CocoaPods i din utveckling. När du börjar använda CocoaPods är chansen att du inte kommer att kunna leva utan den. Trots att jag hade hört talas om CocoaPods många gånger tog det mig tid att göra övergången. Men när jag började använda CocoaPods, har jag inte skapat ett enda projekt utan det. Jag är säker på att du kommer att älska det när du har provat det. Det kommer inte bara att spara tid, det kommer också att göra ditt liv som utvecklare lite enklare.