Lyft Dec 11, 2024

Integrating Extensions into Large-Scale iOS apps

Article Summary

Lyft's iOS team built an Apple Maps extension that lets users book rides without leaving Maps. But the initial version added 45MB to their app—nearly a quarter of Apple's 200MB cellular download limit.

Lyft engineers Artur Stepaniuk and Max Husar share how they integrated ride booking into Apple Maps while managing a highly modular iOS codebase built with Bazel. The challenge: reducing memory footprint and binary size without sacrificing functionality.

Key Takeaways

Critical Insight

By systematically analyzing their dependency graph and stripping unnecessary modules, Lyft cut their Apple Maps extension size by 67% while maintaining full booking functionality.

The article reveals specific Bazel commands and graph analysis techniques that any team with a modular iOS app can use to diagnose bloat.

Recent from Lyft

Related Articles