2017-07-14 1 views
2

J'utilise ce contrôle de vue tiers dans mon projet https://github.com/nicklockwood/SwipeView Ce projet ne prend pas en charge CocoaPods ou Carthage.Devriez-vous utiliser des cibles pour du code que vous ne possédez pas?

Remarque: mon projet entier est Swift et cet autre code est Objective-C.

Pour intégrer cela dans mon projet, j'ai simplement fait glisser les fichiers .h et .m dans mon projet.

Est-ce la bonne approche? Au lieu de cela aurais-je dû créer une nouvelle cible et y mettre ces fichiers? Y a-t-il des considérations pour moi de faire ce choix?

+0

J'ai supprimé les deux balises de langue car votre question n'a vraiment rien à voir avec une langue spécifique. C'est une question plus générale sur l'organisation d'un projet. – rmaddy

Répondre

0

J'ai utilisé cette technique (des cibles séparées construisant des bibliothèques statiques) pour le code d'un tiers - même lorsque cette bibliothèque supporte CocoaPods ou Carthage. Un avantage pour moi était quand il y avait des changements de rupture, en particulier avec les nouvelles versions de la chaîne d'outils, avant que le code tiers a été mis à jour. Il était facile de désactiver par ex. certains avertissements de compilateur plus récents dans cette seule cible tout en gardant le reste du projet aussi propre/sûr que possible.

Il est également raisonnablement bien rangé lorsque vous mélangez Obj-C et Swift.

Je n'ai pas trouvé d'inconvénient, tant que vous êtes heureux de gérer vous-même l'intégration du projet (qui pourrait être géré par CocoaPods). J'ai seulement tendance à avoir une ou deux bibliothèques tierces dans mes projets macOS.