<RubyGems + Bundler
voor velen is CocoaPods de eerste introductie tot dependency management in programmeerprojecten. Veel ideeën voor Cocoapoden kwamen uit soortgelijke projecten (bijvoorbeeld RubyGems, Bundler, npm en Gradle).
Ruby dependency management begrijpen is handig omdat het u toestaat om versies van CocoaPods of andere edelstenen op te geven en ervoor te zorgen dat alle ontwikkelaars in uw team exact dezelfde versie hebben. Deze gids is voor mensen die op zoek zijn naar consistentie in hun teamafhankelijk of voor het gebruik van niet-vrijgegeven versies van CocoaPods.
<RubyGems
RubyGems is een gehoste ruby-Bibliotheekservice. Het centraliseert waar je zoekt naar een bibliotheek, en het installeren van ruby bibliotheken / apps.U zult gem install xxx
hebben gezien. Deze worden geà nstalleerd in een centrale database van versies. Als je je voorstelt dat Cocoapod alle bibliotheken/frameworks installeert in een systeemmap en ze zijn gekoppeld tijdens runtime, dan heb je het ruwe idee van hoe RubyGems Alle edelstenen bewaart.
het nadeel hiervan is dat er geen manier is om ervoor te zorgen dat een project dat een specifieke versie van een bibliotheek nodig heeft dat kan gebruiken,het zou altijd de nieuwste versie gebruiken. Dus als ontwikkelaar zou je voorzichtig zijn met het installeren van een nieuwe versie van een librarybecause it would be used in every library / app. Dit is het probleem dat bundler oplost.
<Bundler
Bundler creëert een consistente Toepassingsomgeving voor uw toepassing, door de versie van bibliotheken te specificeren.We namen dit idee bijna hele-verkoop voor Cocoapoden. U definieert een Gemfile dat aangeeft welke bibliotheken u wilt opnemen, en kunt optioneel een versie of bereik opgeven. U draait bundle install
en het zal een Gemfile genereren.lock zegt de exacte versie van alle bibliotheken en dan krijgt iedereen die bundle install
draait met dat project exact dezelfde versies.
<Wat is een Gemfile?
als u de gids op de Podfile hebt gelezen, zal het zeer vergelijkbaar aanvoelen. Een Gemfile is een ruby-bestand dat uw rubydependencies definieert. Hier is een bestaande uit een Cocoa project.