Something interesting is that there are two LocalMacrosMacros binaries in DerivedData:
If I check with strings on each binary after updating the macro but not cleaning the project, the one in Debug-iphonesimulator has the correct changes in it, but the one in Debug does not.
So it seems that the binary is being rebuilt, just not correctly?