Saturday January 05, 2013

Google's iOS Development Workflow

Chris Hulbert shares his experiences working as an iOS developer at Google. It’s always interesting to hear how other companies take steps to deal with complex software.

The part that caught my attention, though, is how they deal with Xcode’s project files. Apparently, they use a build system called Gyp that generates Xcode projects on the fly from JSON structures and traversing directories. That would minimize possible merge conflicts when many developers make changes that alert the .pbxproj files. I’ve gotten pretty good at merging those myself by hand, but it’s a frustrating waste of time.

It got me thinking of the possibilities to build something like this using the awesome Xcodeproj Ruby project that’s part of the CocoaPods dependency management system. You can generate and manipulate an entire .pbxproj file as a bunch of Ruby objects. It’s also better documented that Gyp which helps us Google-outsiders.

Thanks to Jason Felice for pointing this out!