web-dev-qa-db-fra.com

Utilisation de Carthage et CocoaPods dans le même projet

Je regarde actuellement une bibliothèque qui ne supporte Carthage qu'en tant que gestionnaire de paquets. Le projet avec lequel je cherche à l'intégrer a déjà quelques dépendances CocoaPods. Quelqu'un a-t-il essayé d'utiliser ces deux gestionnaires en même temps?

Cela me semble être une mauvaise idée, mais j'aimerais savoir si c'est le cas dans la pratique.

27
Darren Black

Le principal problème que vous rencontrerez est que CocoaPods et Carthage ne se connaissent pas. Cela signifie que si une dépendance gérée par CocoaPods et une dépendance par Carthage partagent une dépendance commune, des conflits peuvent surviennent.

Carthage nécessite que vous ajoutiez manuellement des cadres à un projet, ce qui signifie que vous pouvez probablement vous en sortir sans lier aucune dépendance partagée et en vous appuyant sur le cadre ajouté par CocoaPods, mais vous n'obtiendrez pas de résolution de version de dépendance entre les deux gestionnaires de dépendances et cela a gagné 's pas clair comment tout cela fonctionne.

Cela dit, il n'y a aucune raison inhérente pour laquelle vous ne pouvez pas utiliser les deux, et si la bibliothèque que vous souhaitez inclure a peu ou pas de dépendances, il est probablement préférable d'utiliser Carthage plutôt que d'inclure la bibliothèque en tant que sous-module ou même copier la source dans.

Ma recommandation, si possible, est d'inclure vos autres dépendances via Carthage, ou de créer un podspec pour la bibliothèque afin que vous puissiez utiliser Carthage ou CocoaPods exclusivement.

30
David Snabel-Caunt