J'essaie de mettre à jour mon pod en utilisant pod install
et de constater qu'il ne se met pas à jour correctementsauf si je supprime le pod d'origine.
Y a-t-il une étape supplémentaire requise ou une erreur commune qui fait échouer les mises à jour?
Je ne sais pas de quelle version, mais si vous mettez à jour votre installation de cocoapods vers la dernière version, vous trouverez deux nouvelles commandes pour vous aider.
pod outdated
Ceci listera tous les pods pour lesquels des mises à jour sont disponibles.
pod update
Ceci mettra à jour les pods listés dans la commande précédente
Vous pouvez ajouter la balise verbose et voir si une erreur s’affiche lors de la mise à jour.
pod install --verbose
Utiliser --verbose
est le meilleur moyen de savoir ce qui se passe. Peut-être qu’il ya un problème avec le dépôt avec lequel il tente de mettre à jour. Dur à dire.
Je pense que le lecteur de cette Question doit comprendre la différence entre
installation pod vs mise à jour pod
De nombreuses personnes commençant par CocoaPods semblent penser que l’installation du pod n’est utilisée que la première fois que vous configurez un projet avec CocoaPods et que la mise à jour du pod est utilisée par la suite. Mais ce n'est pas le cas du tout.
pod install
pour installer de nouveaux modules dans votre projet. Même si vous avez déjà un fichier podfile et que vous avez déjà exécuté pod install
auparavant; Ainsi, même si vous ajoutez/supprimez simplement des modules dans un projet utilisant déjà CocoaPods.pod update [PODNAME]
uniquement lorsque vous souhaitez mettre à jour un pod spécifique vers une version plus récente. pod update
uniquement lorsque vous souhaitez mettre à jour chaque pod vers une version disponible plus récente. Chaque fois que la commande pod install
est exécutée (et télécharge et installe de nouveaux pods), elle écrit la version installée, pour chaque pods, dans le fichier Podfile.lock
. Ce fichier garde la trace de la version installée de chaque pod et verrouille ces versions . Lorsque vous exécutez pod install
, il résout uniquement les dépendances des pods qui ne figurent pas déjà dans le Podfile.lock
. Pour les pods répertoriés dans le Podfile.lock
, il télécharge la version explicite listée dans le Podfile.lock
sans essayer de vérifier si une version plus récente est disponible Pour les pods qui ne figurent pas encore dans le Podfile.lock
, il recherche la version qui correspond à celle décrite dans le podfile (comme dans pod 'MyPod', '~>1.2'
)
Si votre projet est configuré correctement }, vous devriez pouvoir supprimer tout le répertoire Pods
et exécuter pod install
. Je trouve que c'est parfois la meilleure solution lorsque vous rencontrez des problèmes avec des pods qui ne sont pas installés correctement.
Note: Si vous commencez à avoir des erreurs de ce type lors de la compilation:
diff: /../Podfile.lock: No such file or directory
diff: /Manifest.lock: No such file or directory
error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.
... vous devrez peut-être fermer et rouvrir le projet dans Xcode .
Attention: assurez-vous que tous les fichiers de votre répertoire Pods vont être recréés avant de supprimer le répertoire Pods. (C’est-à-dire, assurez-vous de ne pas modifier ni ajouter manuellement de fichiers au répertoire Pods.)