Engineering. Construire des SDKs KMP sans CocoaPods : l'intégration Gradle-Swift de RevenueCat
Titre original : Wrapping a Swift Package in a Gradle Module: How RevenueCat's KMP SDK Builds purchases-ios Without CocoaPods
Le SDK Kotlin Multiplatform de RevenueCat version 3.0.0 représente un changement architectural majeur dans la façon dont les dépendances iOS sont intégrées au développement mobile multiplateforme. Traditionnellement, Kotlin/Native s'appuyait sur le plugin CocoaPods pour établir un pont entre le code Kotlin et les frameworks Apple, car cinterop (l'outil générant les liaisons Kotlin à partir des en-têtes C et Objective-C) nécessitait un format de dépendance structuré que CocoaPods fournissait. Cependant, les packages Swift présentent un défi unique : ils manquent d'en-têtes C que cinterop peut lire directement, et Gradle ne peut pas compiler nativement le code Swift. RevenueCat a résolu ce problème en enveloppant les packages Swift dans des modules Gradle, créant une couche d'intégration personnalisée qui permet à cinterop de fonctionner avec les dépendances Swift sans CocoaPods comme intermédiaire.
Pour les studios mobiles construisant des applications multiplateformes, cette approche ouvre de nouvelles possibilités pour rationaliser les pipelines de construction et réduire la complexité de la gestion des dépendances. En éliminant CocoaPods, les équipes peuvent consolider leur configuration de construction dans un seul système basé sur Gradle, réduisant potentiellement les temps de compilation et simplifiant les workflows CI/CD. La technique démontre comment les modules Gradle personnalisés peuvent établir un pont entre le code spécifique à la plateforme, offrant un modèle pour d'autres projets KMP confrontés à des défis d'intégration similaires.




