CocoaPods er et brukervennlig verktøy for avhengighetsstyring for utvikling av iOS og OS X. Selv om CocoaPods er ganske klar og enkel å bruke, føler jeg at mange kakaoutviklere er motvillige til å prøve. I denne opplæringen vil jeg vise deg hvordan du kommer i gang med CocoaPod på mindre enn fem minutter.
CocoaPods er et avhengighetsstyringsverktøy for utvikling av iOS og OS X. Det gjør det enkelt og grei å administrere tredjepartsbiblioteker i et Xcode-prosjekt. CocoaPods har fått betydelig trekkraft i kakao-samfunnet, og som et resultat gir hundrevis av open source-biblioteker nå støtte til CocoaPods. For å få en ide om hvilke biblioteker som er tilgjengelige via CocoaPods, besøk CocoaPods nettsted og søk etter noen av dine favoritt tredjepartsbiblioteker. Bedrifter som TestFlight, Mixpanel og Google gjør bibliotekene tilgjengelige gjennom CocoaPods.
Å jobbe med tredjepartsbiblioteker i et Xcode-prosjekt er ikke alltid lett, og det kan ofte være en smerte, spesielt når du integrerer ikke-ARC-biblioteker i et ARC-aktivert prosjekt. Eloy Durán startet CocoaPods-prosjektet for å lette denne smerten. Før jeg byttet til CocoaPods, gjorde jeg hva de fleste utviklere gjør; De kopierer manuelt kildefilene til tredjepartsbiblioteker til et Xcode-prosjekt og kompilerer disse filene med resten av prosjektet. Selv om denne metoden fungerte bra, var det å oppdatere et prosjekts avhengigheter en tungvint og feilsom prosess.
CocoaPods gjør det enklere og intuitivt å styre et prosjekts avhengigheter. Du trenger bare å spesifisere hvilke avhengigheter, eller pods, du vil inkludere i prosjektet ditt, og CocoaPods tar vare på resten. Oppdatering av en pod til en ny versjon er like enkelt som å utføre en enkelt kommando på kommandolinjen. Hvis du har unngått kommandolinjen tidligere, kan det være en god tid å bli kjent med det.
En annen flott funksjon av CocoaPods er at den distribueres som en Ruby perle. Dette gjør installering av CocoaPods nesten smertefri. For å installere CocoaPods perlen, må systemet ditt ha Ruby og RubyGems installert. Frykt ikke fordi både Ruby og RubyGems sannsynligvis allerede er installert på datamaskinen din.
Åpne et nytt Terminal-vindu og skriv inn perle -v
for å finne ut om RubyGems er installert på systemet ditt. Hvis du trenger hjelp med å installere Ruby eller RubyGems, skrev Andrew Burgess en flott opplæring om RubyGems på Nettuts +. Hvis du får problemer med å installere CocoaPods, er det sjansene for at Andres artikkel har løsningen på problemet ditt.
Før du installerer CocoaPods, sørg for å oppdatere RubyGems ved å kjøre følgende kommando på kommandolinjen:
perleoppdatering - system
Avhengig av systemkonfigurasjonen kan det være nødvendig å prefiks denne kommandoen med sudo
.
Hvis du vil lese mer om Ruby and Rubygems, skrev Jeffrey Way en fin artikkel om Ruby on Net Tuts +. Opplæringen av Andrew Burgess som jeg nevnte tidligere, er en del av en grundig serie kalt Ruby for Newbies. Det er definitivt verdt å sjekke ut.
Installere CocoaPods er enkelt når Ruby og RubyGems er installert. Bare kjør følgende:
perle installasjon cocoapods
Når installert, sett opp CocoaPods ved å kjøre pod oppsett
kommando. Under oppsettprosessen blir CocoaPods miljøet dannet og a .cocoapods
katalog er opprettet i hjemmemappen din. Denne skjulte mappen inneholder alle tilgjengelige podspesifikasjoner eller podspecifikasjoner.
I stedet for å forklare hvordan CocoaPods fungerer, er det langt lettere å vise deg ved å lage et enkelt Xcode-prosjekt ved hjelp av CocoaPods. Åpne Xcode og opprett et nytt prosjekt basert på Tom søknad mal. Gi navnet navnet på prosjektet CocoaPods og sørg for å aktivere ARC (Automatic Reference Counting) for prosjektet (figur 1).
Figur 1Nå som vi opprettet prosjektet, må vi legge til en Podfile. En Podfile ligner en Gemfile. Det er en tekstfil som inneholder informasjon om prosjektet, og det inkluderer også prosjektets avhengigheter, det vil si bibliotekene som forvaltes av CocoaPods. Lukk Xcode-prosjektet og åpne et nytt Terminal-vindu. Bla til roten til Xcode-prosjektet og opprett en ny Podfile ved å kjøre berør Podfile
i terminalen. De ta på
kommandoen oppdaterer modifisert datoen for en fil, men den lager filen for deg hvis den ikke eksisterer, noe som er akkurat det vi vil ha. Pass på å lage Podfile i roten til Xcode-prosjektet.
berør Podfile
Åpne Podfile i din favoritt tekstredigerer. På tidspunktet for å skrive denne opplæringen, er den nåværende versjonen av CocoaPods 0,16. I denne versjonen er det nødvendig å spesifisere plattformen, iOS eller OS X. Dette vil ikke lenger være nødvendig i neste versjon av CocoaPods (0.17). I dette eksemplet forteller vi CocoaPods som vi målretter mot iOS-plattformen som vist nedenfor. Det er mulig å spesifisere prosjektets distribusjonsmål, men dette er valgfritt. Standard distribusjonsmål er 4.3 for iOS og 10.6 for OS X.
plattform: ios, '6.0'
Med den angitte plattformen er det på tide å lage listen over avhengigheter for prosjektet. En avhengighet består av søkeordet pod
etterfulgt av navnet på avhengighet eller pod. En pod er akkurat som en perle, en avhengighet eller et bibliotek som du ønsker å inkludere i et prosjekt eller et program. Du kan eventuelt angi versjonen av avhengigheten som vist nedenfor.
pod 'SVProgressHUD', '0.9'
Ved å utelate en pods versionsnummer, vil CocoaPods bruke den nyeste versjonen tilgjengelig (det er det du vil ha mesteparten av tiden). Du kan også prefikse versjonsnummeret med en spesifier for å gi CocoaPods mer kontroll over hvilken versjon som skal brukes. Spesifikatorene er for det meste selvforklarende (>, > =
, <
, <=
), men en spesifiserer, ~>
, Det kan virke rart hvis du ikke er kjent med RubyGems. Jeg skal forklare hva ~>
betyr i eksemplet vist nedenfor. Bokspesifikasjonen vist nedenfor indikerer at versjonen av AFNetworking-biblioteket skal være mellom 1.0.1
og 1.1
men utenom sistnevnte. Dette er veldig nyttig hvis du vil gi CocoaPods muligheten til å oppdatere et prosjekts avhengigheter når mindre utgivelser (feilrettinger) er tilgjengelige, men utelukker store utgivelser som kan inkludere API-endringer som kan bryte noe i prosjektet ditt.
pod 'AFNetworking', '~> 1.0.1'
En avhengighetserklæring har mange flere konfigurasjonsalternativer, som kan settes i Podfile. Hvis du vil arbeide med blødkantversjonen av et bibliotek, kan du for eksempel erstatte en podens versjonsnummer med :hode
som vist under. Du kan til og med fortelle CocoaPods hvilken kilde du skal bruke ved å spesifisere git-repository eller referere CocoaPods til en lokal kopi av biblioteket. Disse er mer avanserte funksjoner i CocoaPods.
pod 'AFNetworking',: head pod 'SVProgressHUD',: git => 'https://github.com/samvermette/SVProgressHUD' pod 'ViewDeck',: local => '~ / Utvikling / Bibliotek / ViewDeck'
Med vår liste over avhengigheter angitt, er det på tide å fortsette installasjonsprosessen. Oppdater Podfile som vist under og kjør pod installasjon
i terminalen. Pass på at du kjører denne kommandoen i roten til Xcode-prosjektet der du også opprettet prosjektets 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 installasjon
CocoaPods inspiserer listen over avhengigheter og installerer hver avhengighet som spesifisert i prosjektets Podfile. Utgangen på kommandolinjen viser deg hva CocoaPods gjør under hetten. De to siste linjene er spesielt interessante for oss; CocoaPods skaper et Xcode arbeidsområde og legger til prosjektet vårt til det arbeidsområdet. Det skaper også et nytt prosjekt som heter pods, legger til de angitte avhengighetene til prosjektet, og kobler det statisk til et bibliotek. Det nyopprettede Pods-prosjektet legges også til i samme arbeidsområde (figur 2).
Løse avhengigheter av./ Podfile 'Oppdatering av spesielle arkiver Cocoapods 0.17.0.rc7 er tilgjengelig. Løse avhengigheter for måletstandard "(iOS 6.0) Last ned avhengigheter Installere AFNetworking (1.1.0) Installere HockeySDK (3.0.0) Installere SVProgressHUD (0.9) Installere ViewDeck (2.2.5) Generere støttefiler 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: [!] Brukes fra nå avCocoaPods.xcworkspace'. IntegreringlibPods.a 'inn i måletCocoaPods 'av Xcode prosjektet./CocoaPods.xcodeproj'.
Figur 2 Når du kjører pod installasjon
kommando, forteller CocoaPod oss at vi skal bruke CocoaPods.xcworkspace
fra nå av. Xcode arbeidsområder er en viktig del av hvordan CocoaPods fungerer. Et Xcode-arbeidsområde er en beholder som grupperer ett eller flere Xcode-prosjekter, noe som gjør det lettere å jobbe med flere prosjekter. Som vi så tidligere, oppretter CocoaPods et nytt prosjekt for deg, navngitt pods
, og det legger automatisk til dette prosjektet til et nytt Xcode arbeidsområde. Prosjektet som vi startet med er også lagt til i dette arbeidsområdet. Hovedfordelen er at koden og prosjektets avhengigheter er strengt skilt. Avhengighetene i Pods-prosjektet er statisk knyttet til et bibliotek som du kan se i Bygg faser fan av prosjektet vårt (figur 3). Det er viktig å huske å bruke arbeidsområdet opprettet av CocoaPods i stedet for prosjektet vi startet med. Vårt prosjekt er nå klart for oss, og vi kan begynne å bruke bibliotekene som er spesifisert i prosjektets Podfile.
Det er åpenbart at CocoaPods gjør det lettere å raskt sette opp et prosjekt med flere avhengigheter. Men oppdatering avhengigheter blir også lettere. Hvis et av prosjektets avhengigheter mottok en stor oppdatering, og du vil bruke denne oppdateringen i prosjektet, er alt du trenger å gjøre oppdatering av prosjektets Podfile og løp pod oppdatering
på kommandolinjen. CocoaPods vil oppdatere prosjektets avhengigheter for deg.
CocoaPods perle har mange flere triks opp på ermet. Selv om du kan bruke CocoaPods nettsted for å bla gjennom listen over tilgjengelige pods, lar CocoaPods-perlen deg også liste (liste
) og søk (Søke
) tilgjengelige pod-spesifikasjoner. Åpne et nytt Terminal-vindu og skriv inn kommandoen pod søk fremgang
å søke etter biblioteker som inneholder ordet framgang. Fordelen med å søke etter pods ved hjelp av kommandolinjen er at du bare ser informasjonen som betyr noe for deg, for eksempel podens kilde og tilgjengelige versjoner.
Kjør pod
kommando (uten valg) for å se en komplett liste over tilgjengelige alternativer. CocoaPods manualen er utmerket, så sørg for å lese den hvis du får problemer eller har spørsmål.
Du bør nå ha en grunnleggende forståelse av CocoaPods slik at du kan bruke CocoaPods i din utvikling. Når du begynner å bruke CocoaPods, er sjansen at du ikke vil kunne leve uten den. Selv om jeg hadde hørt om CocoaPods mange ganger, tok det litt tid å gjøre overgangen. Men når jeg begynte å bruke CocoaPods, har jeg ikke opprettet et enkelt prosjekt uten det. Jeg er sikker på at du vil elske den når du har gitt den en prøve. Ikke bare vil det spare deg tid, det vil også gjøre livet ditt som en utvikler litt enklere.