If I create a new application project, the build settings look something like this:
It claims to be using a build dir build/Debug-iphoneos
. I assume this is relative to the project directory? In reality, the project is compiled to the "derived data" directory, under ~/Library/Developer/Xcode/DerivedData/CryptoTest2-abc...
So what is going on here? Is this build setting simply ignored? What is the build setting that controls the output directory?
Go to File -> Workspace Settings -> Advanced and select Legacy
This build setting is actually relative to the Derived Data setting. You can change this setting if you go to Xcode > Preferences > Locations, and change the Derived Data directory setting to whatever suits your needs (Default, Relative or Custom).
You can also specify this on a per project-basis, if you specify an absolute path for that settings:
/build/${CONFIGURATION}${EFFECTIVE_PLATFORM_NAME}
, then the project will be built into the folder build in the root folder.${SRCROOT}/
, effectively creating abuild
folder at the root of your project/workspace.Settings that can be substitued in
${<setting>}
are called Build settings, and are set automatically by Xcode/xcodebuild whenever you start building your project. Apple maintains a list of the available build settings here:http://help.apple.com/xcode/mac/8.0/#/itcaec37c2a6