- Le guide définitif de l’installation et de la mise à jour des pods
- Vous configurez CocoaPods dans un projet pour la première fois et avez créé votre Podfile
- Vous avez ajouté un nouveau pod à votre Podfile
- Vous voulez obtenir la dernière version de tous les pods dans votre Podfile
- Vous voulez obtenir la dernière version d’un seul pod dans votre Podfile
- Vous travaillez avec un pod de développement et vous voulez obtenir vos derniers changements
- Vous avez téléchargé les sources d’un projet existant qui utilise CocoaPods
- Vous écrivez un script pour construire un projet sur un serveur de construction
- Xcode signale des erreurs de construction bizarres relatives aux pods
- Partie 2 : Comment cela fonctionne
- pod update
- pod install
- Summary
Le guide définitif de l’installation et de la mise à jour des pods
La différence entre pod install
et pod update
est subtile, et il n’est pas toujours clair lequel vous devez utiliser. Mais avoir une bonne compréhension de ce que font ces commandes vous donne un contrôle beaucoup plus fin sur la façon dont les dépendances sont gérées dans votre projet, donc cela vaut la peine de connaître la différence.
Dans la première partie de cet article, je vous donnerai une liste de recettes montrant si vous devez exécuter pod install
ou pod update
dans certaines situations courantes. Puis, dans la deuxième partie, j’expliquerai pourquoi les différentes commandes font différentes choses, et comment CocoaPods utilise le fichier Podfile.lock
pour que tout cela se produise.
Pour que ces recettes fonctionnent, assurez-vous que Podfile
et Podfile.lock
sont commises au contrôle de la source.
Vous configurez CocoaPods dans un projet pour la première fois et avez créé votre Podfile
pod install
Ceci installera la dernière version* de chacun des pods que vous avez spécifiés dans votre nouveau Podfile. Il créera également un fichier MyProject.xcworkspace
s’il n’en existait pas déjà.
Vous avez ajouté un nouveau pod à votre Podfile
pod install
Ceci installera la dernière version* de tout nouveau pod ajouté à votre Podfile, laissant vos autres pods inchangés.
Si vous exécutez pod update
à la place, il installera les nouveaux pods et mettra à jour chacun de vos pods existants à sa dernière version*.
Vous voulez obtenir la dernière version de tous les pods dans votre Podfile
pod update
Cela passera par tous vos pods et s’assurera que la dernière version* de chacun est installée dans votre projet.
Vous voulez obtenir la dernière version d’un seul pod dans votre Podfile
pod update SomePod
Cela fera en sorte que la dernière version* du pod que vous spécifiez soit installée, tout en laissant vos autres pods inchangés.
Vous travaillez avec un pod de développement et vous voulez obtenir vos derniers changements
pod update MyDevelopmentPod
Cela fera en sorte que la dernière version de votre pod soit installée, tout en laissant vos autres pods inchangés.
Vous avez téléchargé les sources d’un projet existant qui utilise CocoaPods
pod install
Cela installera tous les pods dans le Podfile aux versions exactes qui ont été précédemment installées dans cette coupe du code source.
Si vous exécutez pod update
à la place, cela installera la dernière version* de chacun des pods dans le Podfile. Cela pourrait empêcher le projet de se construire si les dernières versions n’étaient pas compatibles avec les autres codes du projet. Je recommanderais d’exécuter pod install
pour obtenir la construction du code, puis de mettre à jour les pods si nécessaire d’une manière contrôlée.
Vous écrivez un script pour construire un projet sur un serveur de construction
pod install
Cela installera tous les pods dans le Podfile aux versions exactes qui ont été installées dans la version en cours de construction. Ceci est important pour une construction stable, car ce sont les versions contre lesquelles le code a été développé, et cela signifie que chaque construction de cette coupe de code utilisera les mêmes versions de pods. Si vous deviez utiliser pod update
à la place, votre construction pourrait potentiellement utiliser différentes versions de pods à chaque fois qu’elle se construit.
Xcode signale des erreurs de construction bizarres relatives aux pods
Cela se produit occasionnellement après la mise à jour des pods, ou après avoir basculé entre les branches d’un projet qui contiennent les mêmes pods à différentes versions.
Supprimez le répertoire /Pods
, puis exécutez pod install
Cela réinstallera tous les pods dans le Podfile aux versions exactes qui étaient précédemment installées, et c’est généralement suffisant pour redresser tous les problèmes avec lesquels Xcode peut se retrouver.
Parfois, les gens suggèrent de supprimer le répertoire /Pods
et le fichierPodfile.lock
, puis d’exécuter pod install
. Cela résoudra tous les problèmes avec Xcode, mais mettra également à niveau chacun des pods du Podfile à sa dernière version*.
Partie 2 : Comment cela fonctionne
La différence entre pod install
et pod update
réside dans la façon dont ils interagissent avec le fichier Podfile.lock
. Ce fichier est utilisé pour stocker la version exacte de chaque pod qui est actuellement installé dans votre projet.
La façon la plus simple de comprendre comment cela fonctionne est de regarder le diagramme suivant (avertissement : il s’agit d’un simple schéma plutôt qu’un diagramme technique précis).