问题
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?
回答1:
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:
- You can either hardcode a path such as
/build/${CONFIGURATION}${EFFECTIVE_PLATFORM_NAME}
, then the project will be built into the folder build in the root folder. - Or can you can choose to prepend the existing path with another environment variable. For example, to make the path relative to your project/workspace (As you would expect), you can prepend the original value with
${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
回答2:
Go to File -> Workspace Settings -> Advanced and select Legacy
来源:https://stackoverflow.com/questions/29731884/xcode-build-setting-build-products-path-configuration-build-dir-is-a-lie