Carthage Swift : guide complet avec exemples

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

📦 Carthage pour Swift : le gestionnaire de dépendances décentralisé

Carthage est un gestionnaire de dépendances décentralisé pour l'écosystème Apple (iOS, macOS, tvOS, watchOS). Contrairement à CocoaPods, Carthage ne modifie pas votre projet automatiquement : il compile les frameworks, et c'est vous qui les intégrez dans Xcode. Cela vous donne un contrôle total sur le processus de build et réduit la « magie » au minimum.

Cet outil utilise Carthage (le nom correspond à l'outil lui-même) et fonctionne via un fichier Cartfile — un fichier déclaratif où vous listez vos dépendances. Carthage clone les dépôts, les compile (avec xcodebuild) et place les fichiers .framework prêts à l'emploi dans le dossier Carthage/Build. Vous les ajoutez ensuite manuellement à votre projet.

Pourquoi utiliser Carthage ? Si vous aimez la transparence, voulez éviter les conflits de versions et n'appréciez pas que les outils modifient votre projet automatiquement. Il est parfait pour les équipes où chaque développeur décide comment intégrer ses dépendances, et pour les projets avec des exigences de sécurité strictes.


1. Installation de Carthage

Carthage s'installe via Homebrew (recommandé) ou en téléchargeant le fichier .pkg depuis GitHub.

Commande d'installation exacte (macOS) :
# Installation via Homebrew
brew install carthage

# Vérification de la version
carthage version

Si Homebrew n'est pas installé, commencez par l'installer : /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Carthage n'est officiellement pas pris en charge sous Linux ou Windows (macOS uniquement).


2. Démarrage rapide — exemple minimal fonctionnel

Créez un nouveau projet Xcode (par exemple, Single View App). Ensuite, à la racine du projet, créez un fichier Cartfile (sans extension) et ajoutez une dépendance :

# Cartfile
github "Alamofire/Alamofire" ~> 5.8

Exécutez maintenant la commande dans le terminal (depuis le dossier du projet) :

carthage update --platform iOS

Une fois terminé, le dossier Carthage/Build/iOS contiendra Alamofire.framework. Ouvrez Xcode, glissez-déposez ce .framework dans la section Frameworks, Libraries, and Embedded Content de votre cible. Sélectionnez « Embed & Sign ».

Vous pouvez maintenant importer la bibliothèque :

import Alamofire

// Requête minimale
AF.request("https://api.github.com/users/defunkt").response { response in
    debugPrint(response)
}

Voilà ! Vous venez d'intégrer une dépendance avec Carthage.


3. Méthodes et fonctions principales de Carthage

Voici les commandes et fonctionnalités clés de Carthage. La plupart s'exécutent depuis le terminal.

🔹 1. carthage update

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

Fonction : Télécharge et compile toutes les dépendances listées dans Cartfile.resolved (ou les met à jour vers les dernières versions si Cartfile.resolved est absent). Crée le dossier Carthage/Build.

# Mettre à jour uniquement pour iOS, en utilisant les xcframeworks
carthage update --platform iOS --use-xcframeworks

🔹 2. carthage bootstrap

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

Fonction : Compile les dépendances en utilisant le Cartfile.resolved existant (sans mettre à jour les versions). Idéal pour l'intégration continue (CI/CD) — garantit des builds reproductibles.

# Recompiler tout selon le Cartfile.resolved
carthage bootstrap --platform macOS

Recommendations