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!