Carthage für Swift: Komplette Anleitung mit Beispielen

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

📦 Carthage für Swift: Dezentraler Dependency-Manager für Apple-Plattformen

Carthage ist ein dezentraler Dependency-Manager für das Apple-Ökosystem (iOS, macOS, tvOS, watchOS). Im Gegensatz zu CocoaPods verändert Carthage Ihr Projekt nicht automatisch – es baut die Frameworks, und Sie binden sie selbst in Xcode ein. Das gibt Ihnen die volle Kontrolle über den Build-Prozess und minimiert die „Magie“.

Das Tool verwendet Carthage (der Name ist identisch mit dem Werkzeug) und arbeitet über eine Cartfile – eine deklarative Datei, in der die Abhängigkeiten aufgelistet werden. Carthage klont die Repositories, baut sie (mit xcodebuild) und legt die fertigen .framework-Dateien im Ordner Carthage/Build ab. Sie fügen sie dann manuell zu Ihrem Projekt hinzu.

Warum Carthage nutzen? Wenn Sie Transparenz schätzen, Versionskonflikte vermeiden wollen und nicht mögen, wenn Tools automatisch Ihr Projekt verändern. Es ist ideal für Teams, in denen jeder selbst entscheidet, wie Abhängigkeiten eingebunden werden, und für Projekte mit strengen Sicherheitsanforderungen beim Build.


1. Carthage installieren

Carthage kann über Homebrew (empfohlen) installiert oder als .pkg von GitHub heruntergeladen werden.

Der genaue Installationsbefehl (macOS):
# Installation über Homebrew
brew install carthage

# Version prüfen
carthage version

Falls Homebrew nicht installiert ist, installieren Sie es zuerst: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Für Linux oder Windows wird Carthage offiziell nicht unterstützt (nur macOS).


2. Schnellstart – Minimales Arbeitsbeispiel

Erstellen Sie ein neues Xcode-Projekt (z. B. Single View App). Erstellen Sie dann im Projektverzeichnis eine Datei namens Cartfile (ohne Dateiendung) und fügen Sie eine Abhängigkeit hinzu:

# Cartfile
github "Alamofire/Alamofire" ~> 5.8

Führen Sie nun im Terminal (im Projektverzeichnis) folgenden Befehl aus:

carthage update --platform iOS

Nach Abschluss erscheint im Ordner Carthage/Build/iOS die Datei Alamofire.framework. Öffnen Sie Xcode, ziehen Sie dieses .framework in den Bereich Frameworks, Libraries, and Embedded Content Ihres Targets. Wählen Sie „Embed & Sign“.

Jetzt können Sie die Bibliothek importieren:

import Alamofire

// Minimaler Request
AF.request("https://api.github.com/users/defunkt").response { response in
    debugPrint(response)
}

Fertig! Sie haben soeben eine Abhängigkeit über Carthage eingebunden.


3. Wichtige Methoden und Funktionen von Carthage

Im Folgenden finden Sie die wichtigsten Carthage-Befehle und -Funktionen. Die meisten werden im Terminal ausgeführt.

🔹 1. carthage update

Syntax carthage update [--platform PLATFORM] [--configuration CONFIG] [--no-build] [--use-xcframeworks]

Funktion: Lädt alle Abhängigkeiten aus der Cartfile.resolved herunter und baut sie (oder aktualisiert sie auf die neuesten Versionen, falls Cartfile.resolved fehlt). Erstellt den Ordner Carthage/Build.

# Nur für iOS aktualisieren, mit xcframeworks
carthage update --platform iOS --use-xcframeworks

🔹 2. carthage bootstrap

Syntax carthage bootstrap [--platform PLATFORM] [--configuration CONFIG] [--use-xcframeworks]

Funktion: Baut Abhängigkeiten mit der vorhandenen Cartfile.resolved (ohne Versionsaktualisierung). Ideal für CI/CD – garantiert reproduzierbare Builds.

# Alles neu bauen, wie in Cartfile.resolved festgelegt
carthage bootstrap --platform macOS

Empfehlungen