Maintaining a big codebase during an extended period is always tricky, especially in app environments. Products evolve, companies pivot, vendors modify their SDK, new design patterns emerge and die... you can even decide to change the programming language!
The Tuenti iOS app has suffered a good chunk of changes. In the short term, this app will be at the center of Telefonica digitization, serving dozens of millions of Movistar, O2 and Vivo customers.
How do you prepare a legacy codebase for this? First, let’s continue migrating a massive Objective-C codebase to Swift. Modularize and isolate its components using frameworks. Test as much as possible to avoid costly regressions. And finally, design the glue that holds everything together.