What is this selection for? I have the Architectures set to Optimized (armv6 armv7)
so a fat binary should be getting build with both, right?
So why does this need to set this in the menu? What does it do?
The "build active architecture only" setting causes everything except the current Mac's architecture to be ignored (and the current one is of course valid), hiding the problem. Instead, you should look up a row or two in the settings, and change the "Architectures" setting to "Standard".
In the Build settings for the target there is an additional option in the Architectures section named “Build Active Architecture Only” which influences how the binary is built.
Well mostly you do not need it, but even if you are building fat binaries you may not always be building both versions.
If you check the Build settings for the target there is an option in the Architectures section named "Build Active Architecture Only". I think by default this is selected when you are building for debug. The idea being that if you have armv6 device plugged in Xcode is smart enough to detect that and only build that version saving you some time.
Of course when you are building for distribution the option will not be checked to ensure you build for both architectures (not just the active one).
So I guess the short answer is that you do need to mess with it as Xcode will set it for you based on which device you have plugged in.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With