NSSpain 2023: Moving from CocoaPods to SwiftPM: Our Journey
Detailed image description of the sketchnote
Reasons
- Reduce tech dept
- More flexibility
- Improve dev experience
Problem
- over 20 dependencies per module
- 30% mixed ObjC code
The roadmap
- create migration plan
- document
- estimate time
- Pack 3rd party dependencies in separate package
- Reduce complexity
- "Jungle" to calculate complexity
The migration
#if SWIFT_PACKAGE
import xx
#else
import xy
#endif
- package access modifier
- XING
- dependencies
- libraries
- testing
- UILibraries