CocoaPods: Schlüsselkonzepte, Abhängigkeitsmanager für iOS

Autor: IT Sectr Veröffentlicht: 2026-02-12 Lesezeit: 10 Min.

CocoaPods ist ein Open-Source-Abhängigkeitsmanager für iOS-, macOS-, watchOS- und tvOS-Projekte. CocoaPods ist in Ruby geschrieben und verwendet ein Spezifikationsregister (Specs) mit über 100.000 Bibliotheken. Die Integration erfolgt über die Datei Podfile, in der alle Projektabhängigkeiten beschrieben werden. Das Ergebnis der Installation ist .xcworkspace, das das Hauptprojekt und alle angeschlossenen Module vereint. CocoaPods bleibt der beliebteste Abhängigkeitsmanager in der iOS-Entwicklung: Laut der Stack Overflow Survey (2025) wird es von 34 % der iOS-Entwickler verwendet.

Wichtige Punkte

  • CocoaPods — der beliebteste Abhängigkeitsmanager für iOS mit einem Register von über 100.000 Bibliotheken und 10 Milliarden Downloads
  • Podfile — eine Ruby-Konfigurationsdatei, die Abhängigkeiten, deren Versionen und Integrationsparameter auflistet
  • Podspec — eine Bibliotheksspezifikationsdatei mit Metadaten, Quellcode und Plattformanforderungen
  • Installation über pod install erstellt .xcworkspace — nur diese sollte in Xcode geöffnet werden
  • Podfile.lock fixiert exakte Abhängigkeitsversionen und gewährleistet Build-Reproduzierbarkeit
  • CocoaPods vs SPM: CocoaPods bietet mehr Kontrolle über die Integration, SPM ist in Xcode integriert und benötigt keine Drittanbieter-Tools

Was ist CocoaPods?

CocoaPods ist ein Abhängigkeitsmanager für das Apple-Ökosystem, geschrieben in Ruby und veröffentlicht im Jahr 2011 von Eladio Lopez. CocoaPods löst das Problem der Integration von Drittanbieter-Bibliotheken in Xcode-Projekte: Anstatt Dateien manuell zu kopieren und Linker-Flags zu konfigurieren, beschreibt der Entwickler die Abhängigkeiten in einem Podfile und führt pod install aus. CocoaPods lädt automatisch Quelldateien herunter, konfiguriert Compiler-Flags und erstellt den Arbeitsbereich .xcworkspace.

Die CocoaPods-Architektur umfasst drei Komponenten: CocoaPods.app (CLI-Tool), Specs (zentrales Spezifikationsregister auf GitHub) und Podfile (Projektkonfiguration). Das Specs-Register enthält über 100.000 Bibliotheken mit Versionsverlauf. Bei der Ausführung von pod install lädt CocoaPods die neueste Version des Registers herunter (pod repo update), findet Abhängigkeiten, löst den Versionsbaum auf und generiert .xcworkspace mit allen Pod-Integrationen. Jede Bibliothek wird als separates Ziel kompiliert, was Abhängigkeitsisolierung ermöglicht und Namenskonflikte vermeidet.

CocoaPods ist eng mit Xcode integriert: Es generiert Pods.xcconfig-Dateien mit Header-Pfaden und Linker-Flags und konfiguriert User Script Sandboxing. Für die Verwendung von CocoaPods auf macOS ist Ruby 2.6+ (auf allen Macs vorinstalliert) und Xcode mit Command Line Tools erforderlich. Statistiken: Im Jahr 2025 verarbeitete CocoaPods über 10 Milliarden Pod-Downloads, und das durchschnittliche iOS-Projekt enthält 15 bis 40 Abhängigkeiten über CocoaPods.

Wie CocoaPods funktioniert

CocoaPods lädt jede Bibliothek als separates Git-Repository herunter, überprüft ihre .podspec-Spezifikation und kompiliert sie in ein statisches Framework oder eine dynamische Bibliothek. Pods können von anderen Pods abhängen — CocoaPods erstellt einen Abhängigkeitsgraphen und löst Versionskonflikte. Wenn zwei Bibliotheken unterschiedliche Versionen derselben Abhängigkeit erfordern, versucht CocoaPods eine kompatible Version zu finden oder meldet einen Fehler. Alle Abhängigkeiten und ihre Versionen werden in der Datei Podfile.lock aufgezeichnet, die der Versionskontrolle hinzugefügt werden sollte.

Vorteile von CocoaPods gegenüber manueller Integration: automatische Abhängigkeitsverwaltung, zentrales Bibliotheksregister, Unterstützung für Subspecs, Möglichkeit zur Erstellung privater Repositorys und semantische Versionierung. Für ein Entwicklungsteam stellt CocoaPods sicher, dass alle Mitglieder dieselben Bibliotheksversionen verwenden — Podfile.lock gewährleistet Build-Reproduzierbarkeit auf jedem Rechner.

Podfile: Struktur, Syntax und Beispiele

Podfile ist eine Ruby-Konfigurationsdatei, die die Abhängigkeiten eines Xcode-Projekts definiert. Das Podfile wird im Projektstamm neben .xcodeproj platziert. Die CocoaPods-Syntax basiert auf Ruby DSL (Domain Specific Language), was die Verwendung von Variablen, Bedingungen und Schleifen ermöglicht. Ein minimales Podfile enthält eine Plattform und mindestens eine Abhängigkeit.

ruby
platform :ios, '15.0'

target 'MyApp' do
  pod 'Alamofire', '~> 5.9'
  pod 'SnapKit', '~> 5.7'
  pod 'Kingfisher', '~> 8.0'
end

Die Schlüsselzeile platform :ios, '15.0' legt die Mindestversion von iOS fest. Die Direktive target 'MyApp' gruppiert Abhängigkeiten für ein bestimmtes Ziel. Jede Zeile pod 'Name', '~> version' gibt den Bibliotheksnamen und die Version an. Der Operator '~> 5.9' bedeutet „jede Version von 5.9 bis 6.0, außer 6.0" — dies ist semantische Versionierung, die vor bahnbrechenden Änderungen schützt.

Versionsfixierung und Optionen

CocoaPods unterstützt flexible Versionsoperatoren: '= 1.0' (exakte Version), '>= 1.0' (Mindestversion), '< 2.0' (Höchstversion), '~> 1.2.3' (nur Patch). Eine Bibliothek aus einem lokalen Ordner kann über pod 'MyLib', :path => '../MyLib' eingebunden werden. Für die Einbindung aus Git — pod 'MyLib', :git => 'https://github.com/user/MyLib.git', :tag => '1.0.0'.

ruby
platform :ios, '15.0'
use_frameworks! :linkage => :static
inhibit_all_warnings!

target 'MyApp' do
  pod 'Alamofire', '~> 5.9'
  pod 'Firebase/Crashlytics', '~> 11.0'

  target 'MyAppTests' do
    inherit! :search_paths
    pod 'Nimble', '~> 13.0'
  end
end

target 'MyWatchExtension' do
  platform :watchos, '9.0'
  pod 'Alamofire', '~> 5.9'
end

post_install do |installer|
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '15.0'
    end
  end
end

use_frameworks! aktiviert das Erstellen von Pods als Frameworks anstelle von statischen Bibliotheken (Standardverhalten seit Xcode 15+). Das Attribut :linkage => :static erzwingt statische Frameworks und reduziert so die App-Größe. inhibit_all_warnings! unterdrückt Warnungen von Pods — nützlich für ein sauberes Build-Protokoll. Verschachtelte Ziele (z. B. für Tests) mit inherit! :search_paths erhalten nur Suchpfade, ohne alle Abhängigkeiten neu zu kompilieren. Der post_install-Block konfiguriert Build-Einstellungen für alle Pod-Ziele — dies ist ein Standardmuster zum Festlegen einer einheitlichen Mindest-iOS-Version.

Podfile.lock wird während pod install automatisch generiert. Es fixiert die exakten Versionen aller installierten Abhängigkeiten, einschließlich transitiver. Die Lock-Datei sollte im Repository aufbewahrt werden — ohne sie könnte pod install auf einem anderen Rechner andere Versionen installieren. Der Befehl pod update PodName aktualisiert einen bestimmten Pod und ändert Podfile.lock. pod outdated zeigt eine Liste der Pods mit verfügbaren neueren Versionen.

Podspec: Erstellen und Veröffentlichen einer Bibliothek

Podspec ist eine Ruby-Datei mit der Erweiterung .podspec, die eine Bibliothek für CocoaPods beschreibt. Podspec enthält Metadaten (Name, Version, Autor), Quellcode, Abhängigkeiten, System-Frameworks und Plattformanforderungen. CocoaPods validiert die Podspec mit pod spec lint vor der Veröffentlichung im Register.

ruby
Pod::Spec.new do |s|
  s.name             = 'NetworkingKit'
  s.version          = '1.2.0'
  s.summary          = 'Lightweight HTTP client for iOS'
  s.description      = 'NetworkingKit is a Swift HTTP client with async/await support, built-in caching, and automatic retry logic.'
  s.homepage         = 'https://github.com/user/NetworkingKit'
  s.license          = { :type => 'MIT', :file => 'LICENSE' }
  s.author           = { 'Developer' => 'dev@example.com' }
  s.source           = { :git => 'https://github.com/user/NetworkingKit.git', :tag => s.version.to_s }
  s.ios.deployment_target = '15.0'
  s.swift_version    = '5.9'
  s.source_files     = 'Sources/**/*.swift'
  s.dependency 'Alamofire', '~> 5.9'
end

s.name — der eindeutige Bibliotheksname im Register. s.version entspricht dem Git-Tag (wichtig für die Veröffentlichung). s.source_files — ein Glob-Muster zum Einbinden von Quelldateien. s.dependency gibt eine Abhängigkeit von anderen Pods mit einer Version an. s.ios.deployment_target legt die mindestens unterstützte iOS-Version fest — CocoaPods warnt automatisch, wenn das Projekt eine ältere Version verwendet. Für private Pods kann :path im Podfile anstelle einer Veröffentlichung im Register verwendet werden.

Die Veröffentlichung einer Bibliothek im zentralen Specs-Register erfolgt über pod trunk push NetworkingKit.podspec. Eine vorherige Registrierung ist erforderlich über pod trunk register dev@example.com 'Developer'. CocoaPods validiert die Podspec und sendet einen Pull-Request an das Specs-Repository. Eine Alternative ist ein privates Register über pod repo push für interne Unternehmensbibliotheken.

Subspecs und Modularität

Subspecs ermöglichen es, eine Bibliothek in Module zu unterteilen, die Benutzer selektiv einbinden können. Beispielsweise verwendet Firebase Subspecs: pod 'Firebase/Crashlytics' bindet nur Crashlytics ohne andere Firebase-Module ein. Subspecs erben die Basiskonfiguration und können eigene source_files und Abhängigkeiten hinzufügen.

BefehlAktion
pod spec lintPodspec-Gültigkeit prüfen
pod trunk registerBei CocoaPods Trunk registrieren
pod trunk pushPodspec im Register veröffentlichen
pod repo pushIn privatem Register veröffentlichen
pod lib lintLokale Bibliotheksvalidierung

CocoaPods installieren und konfigurieren

CocoaPods wird über RubyGems installiert — den Standard-Paketmanager von Ruby. Ruby ist auf macOS vorinstalliert, daher genügt ein einziger Terminalbefehl. Eine Alternative ist Homebrew, das CocoaPods als separate Formel installiert. Nach der Installation erfolgt die Projektinitialisierung mit pod init, das ein Podfile mit Basiskonfiguration erstellt. Nachdem das Podfile mit Abhängigkeiten gefüllt wurde, führt der Entwickler pod install aus — CocoaPods lädt die Bibliotheken herunter und generiert den Arbeitsbereich.

ruby
# Installation CocoaPods über RubyGems
sudo gem install cocoapods

# Alternative Installation über Homebrew
brew install cocoapods

# Initialisierung Podfile im Projekt
cd /path/to/Project
pod init

# Abhängigkeiten installieren
pod install

Wichtige Regel: Öffnen Sie nach pod install immer .xcworkspace, nicht .xcodeproj. Wenn Sie .xcodeproj öffnen, sieht Xcode die Pods nicht und der Build schlägt mit Linker-Fehlern fehl. Der Befehl pod install lädt Abhängigkeiten nur bei Änderung des Podfiles oder beim ersten Durchlauf herunter. Zur erzwungenen Neuinstallation aller Pods verwenden Sie pod install --repo-update oder pod deintegrate && pod install.

Aktualisierung von CocoaPods erfolgt über sudo gem update cocoapods oder brew upgrade cocoapods. Die CocoaPods-Version wird mit pod --version überprüft. Seit Version 1.12 (2024) unterstützt CocoaPods Xcode 15 mit strengen Modulprüfungseinstellungen und verbesserter transitiver Abhängigkeitsauflösung. Die neueste stabile Version Mitte 2025 ist 1.16 mit Swift 6-Unterstützung und verbesserter Leistung bei der Abhängigkeitsgraphauflösung für Projekte mit 50+ Pods.

ruby
# Alle Pods auf die neuesten Versionen aktualisieren
pod update

# Bestimmten Pod aktualisieren
pod update Alamofire

# Veraltete Abhängigkeiten prüfen
pod outdated

# Deinstallation CocoaPods aus dem Projekt
pod deintegrate

pod update ohne Argumente aktualisiert alle Pods auf die neuesten kompatiblen Versionen gemäß Podfile (unter Berücksichtigung der ~>-Operatoren). pod outdated zeigt die Differenz zwischen der aktuellen Version in Podfile.lock und der neuesten verfügbaren Version. pod deintegrate entfernt CocoaPods vollständig aus dem Projekt — es entfernt .xcworkspace, Konfigurationsdateien und Build-Einstellungen. Dies ist nützlich bei der Migration zu Swift Package Manager.

Abhängigkeiten und Versionen verwalten

Abhängigkeitsverwaltung in CocoaPods umfasst vier Aspekte: Versionsfixierung, Konfliktlösung, Build-Optimierung und Umgang mit transitiven Abhängigkeiten. CocoaPods erstellt einen Abhängigkeitsgraphen basierend auf Podfile.lock — wenn ein Projekt die Bibliotheken A und B verwendet, die beide von C abhängen, findet CocoaPods eine Version von C, die beide Anforderungen erfüllt.

Konflikte entstehen, wenn zwei Abhängigkeiten inkompatible Versionen derselben Bibliothek erfordern. CocoaPods meldet einen Fehler mit Angabe der widersprüchlichen Anforderungen. Lösungen: Aktualisieren Sie eine der Abhängigkeiten auf eine kompatible Version, verwenden Sie pod 'Lib', :git => ... mit einem bestimmten Commit, oder forken Sie eine der Bibliotheken mit geänderter Abhängigkeit. Für große Projekte wird empfohlen, CI-Validierung mit pod lib lint bei jedem Pull-Request einzurichten.

Fortgeschrittene Verwaltungsstrategien

CocoaPods bietet mehrere erweiterte Funktionen: :path für lokale Bibliotheksentwicklung, :git zum Verbinden von Forks, :branch zum Testen von Entwicklungsbranches. Die Direktive use_frameworks! mit :linkage => :static minimiert die endgültige Binärgröße. Für A/B-Tests und Feature-Flags können verschiedene Pod-Versionen über Ruby-Bedingungskonstrukte im Podfile eingebunden werden.

ruby
platform :ios, '15.0'
use_frameworks!

# Umgebung definieren
is_debug = defined?(DEBUG) && DEBUG

target 'MyApp' do
  # Hauptabhängigkeiten
  pod 'Alamofire', '~> 5.9'
  pod 'SnapKit', '~> 5.7'

  # Lokale Bibliothek für die Entwicklung
  pod 'MyInternalLib', :path => '../MyInternalLib'

  # Bedingte Abhängigkeit für das Debugging
  if is_debug
    pod 'SwiftyBeaver', '~> 2.0'
  else
    pod 'CocoaLumberjack', '~> 3.8'
  end

  # Fork mit Bugfix
  pod 'Kingfisher', :git => 'https://github.com/user/Kingfisher.git', :branch => 'fix-memory-leak'
end

abstract_target 'Pods' do
  pod 'Alamofire'
end

abstract_target erstellt ein virtuelles Ziel für gemeinsame Abhängigkeiten ohne Bindung an ein bestimmtes Xcode-Ziel. Ruby-Bedingungskonstrukte ermöglichen das Einbinden verschiedener Bibliotheken für Debug- und Release-Konfigurationen. :path mit einer lokalen Bibliothek beschleunigt die Entwicklung — Änderungen werden ohne Neustart von pod install übernommen. Der :branch-Modus ist nützlich zum Testen von Änderungen vor einer offiziellen Veröffentlichung.

CocoaPods vs Swift Package Manager vs Carthage

CocoaPods, Swift Package Manager (SPM) und Carthage sind die drei wichtigsten Abhängigkeitsmanager in der iOS-Entwicklung. Jeder hat seine eigene Architektur, seinen Integrationsansatz und sein Kontrollniveau. CocoaPods führt bei der Anzahl der Bibliotheken, SPM punktet mit integrierter Xcode-Unterstützung, Carthage verliert an Popularität, bietet aber maximale Kontrolle.

KriteriumCocoaPodsSPMCarthage
KonfigurationsspracheRuby DSLPackage.swift (Swift)Cartfile
Xcode-IntegrationÜber WorkspaceIntegriertManuell (xcframeworks)
Anzahl BibliothekenÜber 100.000~65.000~20.000
Transitive AbhängigkeitenAutomatischAutomatischManuell
RessourcenunterstützungJa (Resource Bundles)Ja (Resources)Nein
InstallationsgeschwindigkeitMittelSchnellSchnell
VersionierungGemfile.lockPackage.resolvedCartfile.resolved

CocoaPods bleibt die Wahl für Projekte, die maximale Bibliothekskompatibilität benötigen (viele Legacy-Bibliotheken sind nur über CocoaPods verfügbar). SPM wird für neue Projekte empfohlen — es ist in Xcode integriert, benötigt keine zusätzlichen Tools und wird von Apple unterstützt. Carthage wird selten verwendet, hauptsächlich für Projekte, die minimale Eingriffe in die Xcode-Konfiguration erfordern. Seit 2024 entwickelt Apple SPM aktiv weiter, und viele beliebte Bibliotheken (Alamofire, Firebase, SnapKit) unterstützen es bereits neben CocoaPods.

Die Migration von CocoaPods zu SPM erfolgt über pod deintegrate (Entfernen von CocoaPods) und Hinzufügen von Paketen über File → Add Package Dependencies in Xcode. Hauptherausforderungen: Bibliotheken mit Ressourcen (Schriftarten, Bilder, Storyboards) können sich anders verhalten, und CocoaPods-Plugins (z. B. zur Codegenerierung) haben keine Entsprechungen in SPM. Es wird empfohlen, CocoaPods für Projekte beizubehalten, die CocoaPods-spezifische Funktionen benötigen: Codegenerierung, Resource Bundles und benutzerdefinierte Build-Phasen über post_install-Hooks.

Häufige Probleme und deren Lösungen

CocoaPods ist ein stabiles Tool, aber Entwickler stoßen gelegentlich auf typische Probleme. Die meisten hängen mit Ruby-Versionen, Caching oder Abhängigkeitskonflikten zusammen. Nachfolgend die häufigsten Szenarien und ihre Lösungen.

Fehler „The sandbox is not in sync with the Podfile.lock" — tritt auf, wenn Podfile.lock im Repository geändert wurde, bevor pod install ausgeführt wird. Lösung: Führen Sie pod install oder pod deintegrate && pod install aus. Für CI-Umgebungen wird empfohlen, pod install zum Build-Skript hinzuzufügen. Eine weitere häufige Ursache ist ein Unterschied in der CocoaPods-Version zwischen Entwicklern: Überprüfen Sie pod --version auf allen Rechnern.

Fehler beim Aktualisieren des Specs-Registers — meist verursacht durch Netzwerkprobleme oder ein veraltetes Git-Repository. Lösung: pod repo update --verbose zeigt Details. Wenn Specs beschädigt ist: rm -rf ~/.cocoapods/repos/master && pod repo add master https://github.com/CocoaPods/Specs.git. Bei langsamer Internetverbindung können Sie CDN verwenden — es ist seit CocoaPods 1.8+ standardmäßig aktiviert.

Doppelte Symbole Fehler — tritt auf, wenn eine Bibliothek zweimal eingebunden wird oder ein Symbolkonflikt zwischen Pods besteht. Lösung: Überprüfen Sie das Podfile auf Duplikate, verwenden Sie use_frameworks! :linkage => :static zur Isolierung von Symbolen. Wenn das Problem in der Bibliothek liegt, melden Sie es dem Autor. Manchmal hilft das Löschen von Derived Data und ein Neustart von Xcode.

CocoaPods lässt sich nicht auf Apple Silicon Mac installieren — Das auf macOS vorinstallierte Ruby läuft über Rosetta 2, was Kompilierungsfehler verursacht. Lösung: Installieren Sie Ruby über rbenv oder asdf für native ARM64-Architektur. Alternative: Verwenden Sie Homebrew — brew install cocoapods erstellt automatisch für ARM64. Wenn Gems für x86_64 installiert sind, löst der Befehl arch -arm64 sudo gem install cocoapods das Problem.

Langsame Pod-Installation — Bei großen Projekten kann pod install Minuten dauern. Lösung: Aktivieren Sie --verbose zur Diagnose. Verwenden Sie --no-repo-update, wenn Specs bereits aktuell ist. Für CI-Server cachen Sie den Ordner Pods/ und ~/.cocoapods. In CocoaPods 1.12+ ist paralleles Herunterladen über install! 'cocoapods', :parallel_download => true verfügbar.

ProblemUrsacheLösung
Sandbox not in syncPodfile.lock geändertpod install
Specs-Repository beschädigtGit-FehlerSpecs neu installieren
Doppelte SymboleBibliothekskonfliktuse_frameworks! :static
Fehler auf Apple SiliconRuby unter RosettaHomebrew / rbenv ARM
Langsame InstallationGroßer AbhängigkeitsgraphParalleler Download, Cache

Häufig gestellte Fragen

Was ist CocoaPods und warum braucht ein iOS-Entwickler es?

CocoaPods ist ein Abhängigkeitsmanager für Apple-Projekte (iOS, macOS, watchOS, tvOS). Es automatisiert das Herunterladen, Konfigurieren und Integrieren von Drittanbieter-Bibliotheken. Anstatt Dateien manuell zu kopieren und Compiler-Flags zu konfigurieren, reicht es aus, eine Zeile pod 'LibraryName' zum Podfile hinzuzufügen und pod install auszuführen.

Was ist der Unterschied zwischen Podfile und Podfile.lock?

Podfile ist eine Konfigurationsdatei, die der Entwickler schreibt: Sie enthält Bibliotheksnamen und Versionsoperatoren (~> 5.9, >= 2.0, exakte Version). Podfile.lock wird automatisch generiert und fixiert die exakten Versionen aller installierten Abhängigkeiten. Podfile.lock sollte in Git aufbewahrt werden — es stellt sicher, dass alle Teammitglieder dieselben Versionen verwenden.

Wie migriere ich von CocoaPods zu Swift Package Manager?

Führen Sie pod deintegrate im Terminal aus dem Projektordner aus — CocoaPods entfernt .xcworkspace, Konfigurationsdateien und Build-Einstellungen. Öffnen Sie dann .xcodeproj in Xcode, gehen Sie zu File → Add Package Dependencies und fügen Sie die benötigten Pakete hinzu. SPM ist Apples integrierte Lösung, die keine zusätzliche Installation erfordert.

Können CocoaPods und Swift Package Manager im selben Projekt verwendet werden?

Ja, CocoaPods und SPM können im selben Projekt koexistieren. CocoaPods verwaltet einen Teil der Abhängigkeiten über .xcworkspace, während SPM die Package Dependencies in Xcode übernimmt. Es können jedoch Konflikte bei transitiven Abhängigkeiten auftreten: Wenn beide Systeme versuchen, unterschiedliche Versionen derselben Bibliothek einzubinden, schlägt der Build fehl. Es wird empfohlen, einen einzigen Manager für alle Abhängigkeiten zu verwenden.

Wie erstelle und veröffentliche ich meine eigene Bibliothek über CocoaPods?

Erstellen Sie eine .podspec-Datei, die die Bibliothek beschreibt. Führen Sie pod spec lint zur lokalen Validierung aus. Registrieren Sie sich über pod trunk register email name. Veröffentlichen Sie das Spec über pod trunk push YourLib.podspec. CocoaPods fügt Ihre Bibliothek automatisch zum zentralen Specs-Register hinzu — nach der Veröffentlichung ist sie für alle Entwickler über pod 'YourLib' verfügbar.

Zusammenfassung

  • CocoaPods — der beliebteste Abhängigkeitsmanager für iOS mit einem Register von über 100.000 Bibliotheken und Podfile-Integration
  • Podfile — Ruby-Konfiguration mit Unterstützung für Versionierung, bedingte Einbindungen, lokale Abhängigkeiten und post_install-Hooks
  • Podspec — eine Spezifikationsdatei zur Veröffentlichung einer Bibliothek im Register über pod trunk push
  • Podfile.lock fixiert exakte Abhängigkeitsversionen und gewährleistet Build-Reproduzierbarkeit auf allen Teammaschinen
  • Installation erfolgt über gem install cocoapods, Einrichtung über pod init und pod install
  • CocoaPods vs SPM vs Carthage: CocoaPods führt bei der Bibliotheksanzahl, SPM führt bei der Xcode-Integration, Carthage hinkt in allen Bereichen hinterher
  • Häufige Probleme (Sandbox-Synchronisation, Specs-Beschädigung, doppelte Symbole) werden mit pod install, Cache-Leerung und Framework-Konfiguration gelöst

Wir entwickeln eine mobile Applikation schlüsselfertig

IT Sectr entwickelt seit 2017 iOS- und Android-Apps für Startups und Unternehmen. Wir beraten Sie und schlagen die beste Lösung vor.

Projekt besprechen

Lesen Sie auch