Migrating our Objective-C SDK to Swift
Blog post from RevenueCat
RevenueCat embarked on a significant migration of its SDK from a mixed-language Objective-C and Swift framework to a pure Swift framework, prompted by the announcement of StoreKit2 at WWDC 2021, which only supports Swift and iOS 15. The migration was driven by the need for a unified codebase to simplify distribution across multiple channels like CocoaPods and Swift Package Manager, ease integration with frameworks such as Flutter and React Native, and streamline the development process with a single module. The company prioritized maintaining backward compatibility and minimizing API changes, while preparing a detailed plan using GitHub for project management and ensuring robust testing with over 700 unit tests. The decision to migrate, although resource-intensive upfront, was aimed at long-term benefits such as simplified hiring, onboarding, and leveraging Swift's modern capabilities, all while maintaining transparency and involving the community in the process.