Nice, however there is a much simpler solution that works for 99% of cases. [1]
Add a .gitattributes file to the root of your project with the following line:
*.pbxproj binary merge=union
Very occasionally you will get duplicate items but Xcode then warns you can take approbate action.
[1] I started using this approach a couple years ago after finding this:
http://stackoverflow.com/questions/12909222/tell-git-to-trea...