Airbnb Jul 1, 2017

Building Mixed Language iOS Projects with Buck

Article Summary

Brian Zhang from Airbnb's Mobile Developer Infra team cracked a problem that seemed impossible: getting Buck to build mixed Swift and Objective-C iOS projects. The payoff? 50% faster CI builds and 30% smaller app size.

Buck, Facebook's build system, didn't support mixed-language iOS projects—a dealbreaker for Airbnb's codebase with its even split of Swift and Objective-C. The team had to solve deep technical challenges around bridging headers, module maps, and how Buck's static linking approach differs fundamentally from Xcode's framework-based builds.

Key Takeaways

Critical Insight

Airbnb achieved 50% faster CI builds and 30% smaller app size by extending Buck to support mixed Swift/Objective-C projects through custom tooling for header maps and bridging.

The article reveals three remaining challenges the team is tackling, including why buck project for Xcode generation is still on their roadmap.

Recent from Airbnb

Related Articles