PickMe Keshan Fernando

How PickMe Revamps PickMe iOS App: From Objective-C to SwiftUI

Original post Revamping PickMe iOS App: From Objective-C to SwiftUI

Article Summary

PickMe rebuilt their entire iOS app from Objective-C to SwiftUI in just 6 months. Here's how a team that started with 1 developer scaled to 10 engineers and shipped a complete rewrite.

The Sri Lankan ride-hailing company needed to expand beyond rides into food delivery, logistics, and rentals. Their legacy Objective-C codebase couldn't scale, so they made the bold call to modernize everything while keeping the business running.

Key Takeaways

Critical Insight

The new architecture enables parallel development across teams, cuts maintenance costs, and positions PickMe for rapid expansion into new services and markets.

Continue reading

What This Article Covers

Problem

PickMe's Objective-C and UIKit codebase had circular dependencies between modules. The Storyboard-based views were resource-heavy and slow to load. This made it hard to manage multiple service verticals on their own.

Solution

Keshan Fernando's team moved shared utilities into a Core Module. They switched to Swift Package Manager for handling dependencies and used XCFrameworks to break the circular dependency cycles. This let different services own their own modules.

Impact

Teams can now develop their modules independently and in parallel. Features ship faster and the organization spends less time on refactoring work.

The team hit several painful roadblocks with circular dependencies and code signing that nearly derailed the project.

This page summarizes “Revamping PickMe iOS App: From Objective-C to SwiftUI” by PickMe, published Mar 3, 2025. All credit for the original work goes to the authors.

Read the original on medium.com (opens in new tab)

AI tools for iOS

Browse all AI tools →