, forvaltning af private kapsler med cocoapods,,,,, 19,,,,,,,,, 3,,,,,,, det cyber - mandag envato tuts + kurser vil blive reduceret til $3.- og' t miss.,, de fleste af os bruger open source - biblioteker på daglig basis.med cocoapods, forvaltning af afhængighed i en kakao - projektet er næsten smertefrit.i visse situationer, men et projekt afhænger af en bibliotek eller ramme, der er lukket kilde, ikke offentligt tilgængelige. , du kan bruge cocoapods i sådanne situationer. cocoapods fungerer godt for begge lukket og open source - biblioteker.,, at gøre det arbejde, du har brug for at skabe en private specifikationer register.når du har sat en op, behøver du ikke engang mærke forskellen mellem offentlige og private områder, fordi cocoapods tager sig af den pedantiske detaljer for dig.i denne forelæsning, vil du lære at oprette en privat specs register til at styre private biblioteker.,, 1.indledning,, hvis du har kun brugt cocoapods for forvaltningen af offentlige bælg, så kan du ikke ved, at cocoapods kan klare flere specifikationer samlinger.hvis ingen specs register er specificeret i projektet er , podfile,, cocoapods falder tilbage til mester specs register.,, hvis du angiver en afhængighed i dit projekt er, podfile,, cocoapods søgninger ved misligholdelse i master planen register.tag et kig på følgende to eksempler.begge eksempler giver samme resultat.forskellen er, at vi udtrykkeligt angive kilden til det register, i den anden , podfile,.,, platform: six "8" mål "test" pod 'afnetworking "," 2.6.0 "pod' svprogresshud", "~ > 1,1 'ende, kilde" https://github.com/cocoapods/specs.git platform - six, "8" mål "test" pod' afnetworking "," 2.6.0 "pod 'svprogresshud", "~ > 1,1',, hvis du aldrig har skabt eller bidraget til en bælg, så du kan tænke over, hvad en specs register er?en specs register, er intet andet end en database, der indeholder en samling af kapslen specifikationer, filer med. podspec eller. podspec.json, udvidelse, som navnet antyder, at det register, ikke indeholder kilden filer for kapslerne.du kan surfe på den cocoapods mester specs register i github.hvis cocoapods er monteret på maskinen, men en kopi af mester specs register, allerede er til stede på din maskine., i anlægget proces, cocoapods kloner mester specs register til din hjem mappe.du kan finde den på, - /. cocoapods /genkøbsforretninger /mester,.,,. 2.at skabe en specs depot, plejer jeg at bruge github som vært for torsk samlinger, så er den platform, jeg vil bruge denne forelæsning.det betyder ikke noget, hvor du vært for det register, så længe det er tilgængelig for alle på holdet.,, du kan skabe en fri github tegner sig for at følge med, men husk på, at du kan kun skabe offentlige samlinger med en fri højde.hvis du har et bibliotek, som du ønsker at åbne kilder, så er det anbefalede at offentliggøre bælgen - mesteren specs register, som er forvaltes af cocoapods team.du kan ikke vinde noget ved at oprette en særskilt offentlig specs register.,, at det første, vi må gøre, er at skabe en privat database om github for private specifikationer, som vi kommer til at tilføje senere.jeg har opkaldt min, tutspods,.github vil tyder på, at klone register til din maskine, men det er ikke nødvendig.cocoapods vil klone det register, for dig, når du har tilføjet, at det cocoapods.det er, hvad vi vil gøre i det næste skridt., 3.tilsætning af deponeringsstedet for cocoapods,, det næste skridt er at fortælle cocoapods om det register, vi har skabt.du gør dette ved at gennemføre følgende kommando fra kommandolinjen.,, pod repo tilføje tutspods https: //github. kom /bartjacobs /tutspods. så, du kan mærke, at ledelsen svarende til at tilføje en fjernbetjening til et skvat register.sørg for, at du kan huske det navn, du giver specs register, tutspods, i dette tilfælde.vi får brug for lidt senere.,,, når du tilføjer en specs register, cocoapods kloner arkivet på din maskine.du kan kontrollere det - til - /. cocoapods /genkøbsforretninger,.registret bør nu indeholder to specs samlinger, mester, specs register og , tutspods, specs register.bortset fra en. tag, folder det, tutspods, fortegnelse er tomt, siden vi ikke har tilføjet specs.,, 4.at skabe en privat bælg, for ikke så længe siden, andy obusek skrev en god forelæsning om, at din første pod.hvis du aldrig har skabt en bælg, offentlige eller private, og jeg anbefaler, at man læser andy 's artikel først.jeg vil ikke gentage, hvad andy skrev i denne forelæsning.,, som et eksempel, jeg har skabt en lille bibliotek, tsptableview, , der indeholder et særligt , uitableview, anvendes.for at skabe en bælg spec i biblioteket, løb følgende kommando i roden til biblioteket.,, pod skabe spec tsptableview, ved at løbe ovennævnte kommando, cocoapods skaber en fil ved navn, tsptableview. podspec,.åbne filen i en tekst, redaktør og udfylde de relevante områder.når du er færdig, løb , pod - noget, at validere kapslen spec. hvis kapslen spec ikke passerer validering, vil du ikke være i stand til at skubbe - - til det register,.,,. 5.skubbe - til det register, hvis kapslen spec passerer validering, det er tid til at skubbe det til private specs register, du skabte tidligere.du gør dette ved at gennemføre følgende kommando fra kommandolinjen.,, pod repo skub tutspods tsptableview. podspec, er det afgørende, at man bruger det samme navn, du tidligere har været anvendt til at tilføje den private specs register til cocoapods.det sidste argument er vejen til bælgen - du presser til det register,.,,. 6.ved hjælp af den private kapslen, nu kan vi bruge, tsptableview, i et nyt projekt.skabe et projekt i xcode og tilføje, podfile, ved roden af det projekt, som løber, pod lokalitet, fra kommando linjen.det er hvad, podfile, kunne se ud, når du er færdig.,,, platform: six "8" mål "myamazingapp" pod 'tspview' ende, løb, pod installere, fra kommando linjen til de områder, der er anført i projektet er , podfile,.har du også løbe ind i et problem?jeg kan se følgende fejl.,, pod installere ajourføring af lokale specifikationer samlinger analyserer afhængighed [!] ikke i stand til at finde en specifikation for er tsptableview «, produktionen, fortæller os, at cocoapods første ajourføringer af den lokale specifikationer samlinger.det betyder, at deponeringsanlæg i den, - /. cocoapods /genkøbsforretninger, fortegnelse ajourføres, trækker i ændringer.,, cocoapods gør dette for at sikre, at det er den seneste version af specifikationerne, der er lagret i samlinger.hvis vi ser på den, - /. cocoapods /genkøbsforretninger /tutspods, fortegnelse, kan vi se, at de pod - for, tsptableview, pod er der, som vi havde forventet.hvorfor kan i ikke cocoapods finder kapslen spec, tsptableview,?, er løsningen enkel.på toppen af, podfile, er vi nødt til at præcisere, hvilke specifikationer samlinger cocoapods søgninger for at løse de afhængighed, der er anført i projektet er , podfile,.det er hvad, podfile, skal se ud for at afhjælpe problemet.,, kilde "https://github.com/bartjacobs/tutspods.git »source« https://github.com/cocoapods/specs.git platform: six" 8 "mål" myamazingapp "pod 'tsptableview' ende, løb, pod installere, endnu en gang til at installere de områder, der er anført i projektet er , podfile,.kommandoen nu færdig med succes som vist nedenfor.jeg er i øjeblikket ved cocoapods, 0.38.2, så produktionen kan være en smule anderledes, hvis du bruger en anden version af cocoapods.,,, du installere en ajourføring af lokale specifikationer samlinger analyserer afhængighed af at downloade afhængighed tsptableview (0.0.1) generering af bælge projekt integrering af klient - projektet [!vær venlig at lukke de nuværende xcode] møder og anvendelse er myamazingapp. xcworkspace for dette projekt fra nu af.,, konstaterer, at den rækkefølge, i hvilken de liste specifikationerne samlinger i, podfile, er vigtigt.for eksempel, hvis du har kløvet offentlige bælg, ændrede det, og skabte en privat pod for gaflen med samme navn, vil du have en navngivning kollision.,, det er ikke et problem for cocoapods, fordi det vil anvende den første sensor kan finde med de foreskrevne navn.i almindelighed, du skal lægge den private specs register på toppen for at sikre, cocoapods søgninger, som en første, falder tilbage til offentlige specs register, hvis det er nødvendigt.,, konklusion, cocoapods er et glimrende værktøj, som jeg ikke ville være i stand til at arbejde uden.jeg håber, at denne forelæsning har vist dig, hvor stærk cocoapods er, og hvor let det er at skabe og forvalte private kapsler med cocoapods.