Fixed! Two options:
1) If I move my linkage to the ArcGIS SDK from my target settings to my project settings, I can build. Targets using the ArcGIS SDK will need an $(inherited) flag in the Framework Search Paths field. I typically do all my framework/library linkage in the target settings on the general principle that my project might end up with multiple targets using different components, and I have never had an issue with this before.
I do not understand *why* this makes a difference; the build looks exactly the same (same linker flags, etc.) and my understanding is that target level settings simply add to or override project level settings *before* everything is fed into the compiler.
2) If I switch the default c++ library to libstdc++, I can build without doing 1). This is accomplished via the c++ standard library field in the project or target settings and I should have seen it right away. Changing that field will prevent LLVM from adding the -stdlib=libc++ flag, as per eric5320's suggestion. However, my understanding is that libc++ offers some substantial advantages over libstdc++. Having to make a project-wide change like that to accommodate one framework is unfortunate.