These build settings specify properties of the product the target builds.
ARCHS (Architectures)
Description:
Space-separated list of identifiers. Specifies the architectures (ABIs, processor models) to which the binary is targeted. When this build setting specifies more than one architecture, the generated binary may contain object code for each of the specified architectures.
Space-separated list of identifiers. Specifies the architectures for which the binary may be built. During the build, this list is intersected with the value of ARCHS build setting; the resulting list specifies the architectures the binary can run on. If the resulting architecture list is empty, the target generates no binary.
These build settings specify properties of a build performed by a target.
ACTION
Description:
Identifier. Identifies the type of build to perform on the target.
Values:
build: Build the product and place it in the product build directory (CONFIGURATION_BUILD_DIR).clean: Remove the product and build files in the product build directory (CONFIGURATION_BUILD_DIR) and the intermediate build files directory (CONFIGURATION_TEMP_DIR).install: Build the product and place it in its installation destination (INSTALL_PATH).installhdrs: Copy the product’s public and private header files into the public headers directory (PUBLIC_HEADERS_FOLDER_PATH) and the private headers directory (PRIVATE_HEADERS_FOLDER_PATH), respectively.installsrc: Copy the target’s source files into the project directory (SRCROOT).
headers build: When ACTION=buildorACTION = build or ACTION=buildorACTION = install,headers: When ACTION=installhdrs,Empty:WhenACTION = installhdrs,Empty: When ACTION=installhdrs,Empty:WhenACTION = installsrc.
BUILD_VARIANTS (Build Variants)
Description:
Space-separated list of identifiers. Specifies the binary variants of the product. You can create additional variant names for special purposes. For example, you can use the name of a build configuration as a variant name to create highly customized binaries.
Values:
normal: Use to produce a normal binary.profile: Use to produce a binary that generates profile information.debug: Use to produce a binary with debug symbols, additional assertions, and diagnostic code.
Boolean value. Specifies whether to compress PNG files that are resources of the active target as they are copied to the application bundle. This applies only to iOS applications.
Values:
YES: PNG files (those with the .png suffix) are compressed as they’re copied to the application bundle.NO: No PNG compression takes place.
Default value:
YES
CONFIGURATION
Description:
Identifier. Identifies the build configuration (for example, Debug or Release) the target uses to generate the product.
Values:
Debug, Release, and custom build configuration names.
CONFIGURATION:WhenCONFIGURATION: When CONFIGURATION:WhenCONFIGURATION IN $BUILD_VARIANTS.normal: Is the alternative.
Example values:
debug: CONFIGURATION=debugANDCONFIGURATION = debug AND CONFIGURATION=debugANDBUILD_VARIANTS = debug profile.normal: CONFIGURATION=releaseANDCONFIGURATION = release AND CONFIGURATION=releaseANDBUILD_VARIANTS = debug profile.
DEBUG_INFORMATION_FORMAT (Debug Information Format)
Description:
Identifier. Identifies the format used to store the binary’s debug information.
Values:
stabs: Use the Stabs format and place the debug information in the binary.dwarf: Use the DWARF format and place the debug information in the binary.dwarf-with-dsym: Use the DWARF format and place the debug information in a dSYM file.
Boolean value. Specifies whether the binary receives deployment postprocessing. Deployment postprocessing involves stripping the binary, and setting its file mode, owner, and group.
Boolean value. Specifies whether the product includes only object code for the native architecture.
Values:
YES: The product includes only code for the native architecture (NATIVE_ARCH).NO: The product includes code for the architectures specified in ARCHS (Architectures).
Default value:
NO
PATH_PREFIXES_EXCLUDED_FROM_HEADER_DEPENDENCIES
Description:
Space-separated list of directory paths. Identifies the directories to exclude from header-file scans when the build uses header-file dependencies.
Identifier. Specifies the output encoding for strings files.
Values:
UTF-8UTF-16
Default value:
UTF-16
TARGETED_DEVICE_FAMILY (Targeted Device Family)
Description:
Comma-separated list of numeric identifiers. Specifies the device families on which the product must be capable of running.
Identifiers:
1: iPhone/iPod touch.2: iPad.
Default value:
1
Example value:
1,2
VALIDATE_PRODUCT (Validate Built Product)
Description:
Boolean value. Specifies whether to run product-validation tests.
Values:
YES: The build runs validation tests on the generated product.NO: The build does not run validation tests on the generated product.
Default value:
NO
Build and Product Location Build Settings
These build settings identify filesystem locations used by the build process as well as locations that specify where product files are placed.
BUILT_PRODUCTS_DIR
Description:
Directory path. Identifies the directory under which all the product’s files can be found. This directory contains either product files or symbolic links to them. Run Script build phases can use the value of this build setting as a convenient way to refer to the product files built by one or more targets even when these files are scattered throughout a directory hierarchy (for example, when DEPLOYMENT_LOCATION is set to YES.
SYMROOT/BuiltProducts:WhenDEPLOYMENTLOCATION=YESANDRETAINRAWBINARIES=YES,SYMROOT/BuiltProducts: When DEPLOYMENT_LOCATION = YES AND RETAIN_RAW_BINARIES = YES,SYMROOT/BuiltProducts:WhenDEPLOYMENTLOCATION=YESANDRETAINRAWBINARIES=YES,CONFIGURATION_BUILD_DIR: Is the alternative.
CACHE_ROOT
Description:
File path. Identifies the file used to cache build-time information that must persist between launches of the Xcode application.
Directory path. Identifies the directory into which the product is placed. In this directory, the product is laid out exactly as it would be installed in a user’s filesystem.
Directory path. Partially identifies the directory into which variant object files are placed. The complete specification is computed using the variants of this build setting.
Directory path. Fully identifies the directory into which variant object files are placed.For each build variant in BUILD_VARIANTS, Xcode generates an OBJECT_FILE_DIR build setting with the variant name as a suffix. The generated build setting’s value is computed using OBJECT_FILE_DIR and the build variant name.
Directory path. Identifies the directory in which the target’s intermediate build files are placed. Intermediate build directories are named after the product name with the extension .build. For example, MyProduct.build.
Effectors:
SRCROOT, Xcode Preferences > Building > “Place Build Products in.”
Default value:
$SRCROOT/build: When Xcode Preferences > Building > “Place Build Products in” is “Project directory.”<custom_directory_path>: When Xcode Preferences > Building > “Place Build Products in” is “Customized location.”
Directory path. Identifies the directory in which the project’s intermediate build files are placed. This directory is shared between all the targets defined by the project. Run Script build phases should generate intermediate build files in the directory identified by DERIVED_FILE_DIR, not the location this build setting specifies.
Directory path. Specifies the directory in which the collected Resource Manager resources generated by ResMerger are stored before they are added to the product.
Directory path. Specifies the directory in which compiled Resource Manager resources generated by Rez are stored before they are collected using ResMerger.
Directory path. Specifies the directory of the base SDK to use to build the product.
Values:
macosx10.5: OS X v10.5.macosx10.6: OS X v10.6.iphonesimulator3.2: iPhone Simulator 3.2.iphonesimulator4.0: iPhone Simulator 4.0.iphoneos3.2: iPhone Device 3.2.iphoneos4.0: iPhone Device 4.0.
Directory path. Specifies the directory in which to place precompiled headers. Targets can share precompiled headers by specifying the same value for this build setting.
Boolean value. Specifies whether to place the product at the location indicated by DSTROOT or the uninstalled products directory inside the directory indicated by TARGET_TEMP_DIR.
Values:
YES: When DEPLOYMENTLOCATION=YES,theproductisplacedinDEPLOYMENT_LOCATION = YES, the product is placed in DEPLOYMENTLOCATION=YES,theproductisplacedinTARGET_TEMP_DIR/UninstalledProducts.NO: The product is placed in $DSTROOT.
Directory path. Identifies the root of the directory hierarchy that contains product files and intermediate build files. Product and build files are placed in subdirectories of this directory.
Directory path. Identifies the root of the directory hierarchy that contains the product’s files (no intermediate build files).Run Script build phases that operate on product files of the target that defines them should use the value of this build setting. But Run Script build phases that operate on product files of other targets should use BUILT_PRODUCTS_DIR instead.
CONFIGURATIONBUILDDIR:WhenCONFIGURATION_BUILD_DIR: When CONFIGURATIONBUILDDIR:WhenDEPLOYMENT_LOCATION = NO,$DSTROOT/$INSTALL_PATH: When DEPLOYMENTLOCATION=YES,DEPLOYMENT_LOCATION = YES, DEPLOYMENTLOCATION=YES,SKIP_INSTALL = NO, and INSTALL_PATH is defined,$TARGET_TEMP_DIR/UninstalledProducts: When DEPLOYMENTLOCATION=YESANDDEPLOYMENT_LOCATION = YES AND DEPLOYMENTLOCATION=YESANDSKIP_INSTALL = YES or $SKIP_INSTALL = NO and INSTALL_PATH is not defined.
Directory path. Identifies the directory containing the target’s intermediate build files.Run Script build phases should place intermediate files at the location indicated by DERIVED_FILE_DIR, not the directory identified by this build setting.
Header maps (also known as “header maps”) are files Xcode uses to compile the locations of the headers used in a target. These files use the suffix .hmap. Xcode passes the header maps it puts together to C-based compilers through the -I argument.
Boolean value. Specifies whether the header map contains a name/path entry for every header in the target being built.
Values:
YES: The header map contains a name/path entry for every header in the target.NO: The header map does not contain name/path entries for the headers that belong to the target.
Boolean value. Specifies whether the header map contains a framework-name/path entry for every header in the target being built, including targets that do not build frameworks.
Values:
YES: The header map contains a framework-name/path entry for every header in the target.NO: The header map does not contain framework-name/path entries for the headers in the target.
Boolean value. Specifies whether the header map contains a name/path entry for every header in the project, regardless of the headers’ target membership.
Values:
YES: The header map contains a name/path entry for every header in the project.NO: The header map does not contain name/path entries for the headers that are part of the project.
These build settings specify how source files are compiled into object files.
ALWAYS_SEARCH_USER_PATHS (Always Search User Paths)
Description:
Boolean value. Specifies whether the compiler searches for headers in the project directory before searching system directories. This build setting is used only with GCC 4.0 and later.
Values:
YES: Search project directory first.NO: Search system directories first.
Default value:
YES. For backwards compatibility only. You should set this build setting to NO.
FRAMEWORK_SEARCH_PATHS (Framework Search Paths)
Description:
Space-separated list of directory paths. Specifies directories in which the compiler searches for frameworks to find included header files. This list is passed to the compiler in the gcc -F option. You may specify a recursive path by appending ** to the path. When this build setting is defined, $SDKROOT is added to the end of the path list that is passed to the compiler.
Boolean value. Specifies whether the compiler performs automatic loop vectorization when appropriate. Automatic loop vectorization is supported only in the PPC architectures. And it’s not supported by the Clang and LLVM-GCC compilers.
Prerequisite:
GCCOPTIMIZATIONLEVEL>=2ANDGCC_OPTIMIZATION_LEVEL >= 2 AND GCCOPTIMIZATIONLEVEL>=2ANDARCHS * $VALID_ARCHS IN {ppc, ppc970, ppc64}
Values:
YES: The compiler performs automatic loop vectorization when the prerequisite is met.NO: The compiler does not perform automatic loop vectorization.
Boolean value. Specifies whether the generated object code is nonrelocatable (external references remain relocatable). Making code nonrelocatable results in faster function calls. This feature is appropriate in applications but not dynamic libraries.
Values:
YES: Generated code is nonrelocatable (gcc -mdynamic-no-pic) when the prerequisite is met.NO: Generated code is relocatable.
Default value:
NO
GCC_ENABLE_CPP_EXCEPTIONS (Enable C++ Exceptions)
Description:
Boolean value. Specifies whether the compiler generates code necessary for exception propagation.
Values:
YES: Compiler generates code necessary for exception propagation.NO: Compiler does not generate code necessary for exception propagation.
Boolean value. Specifies whether the compiler generates information about every class with virtual functions. This information is used by the C++ runtime type identification features (dynamic_cast and typeid). If you do not use these features, you may save some space by not generating this information. However, when exceptions are enabled, this information is generated automatically.
Values:
YES: Binary includes information about virtual classes.NO: Binary might not include information about virtual classes (gcc -fno-rtti).
Boolean value. Specifies whether the compiler recognizes @try, @catch, and @throw directives.
Values:
YES: Recognize the Objective-C exception-handling directives (gcc -fobjc-exceptions).NO: Do not allow the Objective-C exception-handling directives in source code.
Identifier. Specifies the level of garbage-collection support for the generated code.
Values:
unsupported: The application cannot load code that requires garbage collection. The loadable bundle cannot be loaded by an application that requires garbage collection.supported: The application can load code that supports or requires garbage collection. The loadable bundle can be loaded by an application with any level of garbage-collection support.required: The application can load only code that supports garbage collection. The loadable bundle can be loaded only by an application that supports garbage collection.
Boolean value. Specifies whether the compiler generates a separate file containing the debug symbols when compiling a precompiled (prefix) header (PCH). A separate file with debug symbols can improve build time.
Prerequisite:
DEBUGINFORMATIONFORMAT=stabsANDDEBUG_INFORMATION_FORMAT = stabs AND DEBUGINFORMATIONFORMAT=stabsANDGCC_DEBUGGING_SYMBOLS = full
Values:
YES: Generates separate file containing debug symbols for a precompiled header.NO: Does not generate separate debug symbol file.
Default value:
YES: When $MACH_O_TYPE != staticlib.NO: Is the alternative.
Boolean value. Specifies whether to use feedback-directed optimization.To optimize a binary, you must first generate a binary that produces profile trace files by setting this build setting to GenerateProfile. After running the binary mimicking the expected usage patterns (training), rebuild the binary with UseProfile as the value for this build setting. The resulting binary is optimized for the usage patterns observed in training. If the code paths taken during training are not representative of what happens in actual usage, the binary’s performance may actually degrade.
Values:
Off: Binary is not optimized and does not generate trace files.GenerateProfile: Binary generates trace files (training).UseProfile: Binary is optimized using the information from the profile trace files. Requires that the binary had been previously built with GenerateProfile and run to gather the information.
Option specification. Specifies the PowerPC architecture to which the compiler optimizes the instruction scheduling model. The generated code runs in earlier PowerPC architectures, too. See -mtune in the gcc man page for details.
Values:
None: Binary is not optimized for a particular PowerPC architecture.G3: Binary is optimized for the PowerPC G3 architecture.G4: Binary is optimized for the PowerPC G4 architecture.G5: Binary is optimized for the PowerPC G5 architecture.
Default value:
G4
GCC_OBJC_CALL_CXX_CDTORS (Call C++ Default Ctors/Dtors in Objective-C)
Description:
Boolean value. Specifies whether to execute nontrivial default constructors and destructors for C++ instance variables of Objective-C classes.
Values:
YES: Binary executes default constructors and destructors for C++ instance variables of Objective-C classes (gcc -fobjc-call-cxx-cdtors).NO: Binary does not execute default constructors for Objective-C-typed instance variables in C++ classes.
Default value:
NO
GCC_OPTIMIZATION_LEVEL (Optimization Level)
Description:
Option specification. Specifies the degree to which the generated code is optimized for speed and binary size.
Values:
0: No optimization.1: Binary is optimized to fast.2: Binary is optimized to faster.3: Binary is optimized to fastest.s: Binary is optimized to fastest and smallest.
Space-separated list of option specifications. Specifies preprocessor macros in the form foo (for a simple #define) or foo=1 (for a value definition). This list is passed to the compiler through the gcc -D option when compiling precompiled headers and implementation files.
GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS (Preprocessor Macros Not Used In Precompiled Headers)
Description:
Space-separated list of option specifications. Specifies preprocessor macros in the form foo (for a simple #define) or foo=1 (for a value definition). This list is passed to the compiler through the gcc -D option only when compiling implementation files; they are not passed when compiling precompiled headers.
Prerequisite:
Definitions used only in implementation files, not precompiled headers.
YES: Symbols that do not specify public visibility (with __attribute__((visibility("default"))), for example) are not exported (gcc -fvisibility=hidden).NO: Symbols that do not specify private visibility (with __attribute__((visibility("hidden"))), for example) are exported.
Boolean value. Specifies whether the binary uses the functions that implement thread-safe initialization of local statics for the IA-32 architecture. Binaries that use these functions contain less object code in sections that do not need to be thread safe.
Values:
YES: Binary uses the IA-32 ABI thread-safe initialization functions.NO: Binary does not use the IA-32 ABI thread-safe initialization functions (gcc -fno-threadsafe-statics).
Default value:
YES
GCC_UNROLL_LOOPS (Unroll Loops)
Description:
Boolean value. Specifies whether the compiler generates a faster binary (containing code with fewer branches) by unrolling loops, which generates a larger binary.
Values:
YES: Compiler generates code with unrolled loops.NO: Compiler does not unroll loops.
Default value:
NO
GCC_USE_NASM_FOR_ASM_FILETYPE (Use nasm to Process .asm Files)
Description:
Boolean value. Specifies whether nasm is used to compile Assembly .asm files.
Values:
YES: Assembly (.asm) files are compiled with nasm (gcc -nasm).NO: Assembly files are not compiled with nasm.
Default value:
NO
GCC_VERSION
Description:
Numeric identifier. Identifies the GCC version to be used to compile the target’s source files. When the target’s “System C rule” is set to GCC System Version (instead of a specific version number), this build setting is not available in Run Script build phases.
Values:
2.95.23.13.34.0
Default value:
GCC system version.
Specified in:
Project Info > Rules > “System C rule.”Target Info > Rules > “System C rule.”
Identifier. Identifies the version of GCC to be used to compile the target’s source files. This build setting is unavailable in Run Script build phases when GCC_VERSION is not available in them.
Boolean value. Specifies whether to warn about functions that do not have an explicit return type and about functions that contain return statements but whose return type is void.
Values:
YES: Warn about ambiguous function return types (gcc -Wreturn-type).NO: Do not warn about ambiguous function return types.
Default value:
NO
GCC_WARN_UNUSED_VARIABLE (Unused Variables)
Description:
Boolean value. Specifies whether warn about unused local variables or unused nonconstant static variables.
Values:
YES: Warn about unused variables (gcc - Wunused-variable).NO: Do not warn about unused variables.
Default value:
NO
GCC_WARN_EFFECTIVE_CPLUSPLUS_VIOLATIONS (Effective C++ Violation)
Description:
Boolean value. Specifies whether to warn about violations to certain code style guidelines described in Effective C++ (by Scott Meyer).
Values:
YES: Warn about _Effective C++_–style violations (gcc -Weffc++).NO: Do not warn about _Effective C++_–style violations.
Boolean value. Specifies whether to warn about function declarations that hide virtual functions declared in a base class.
Values:
YES: Warn about function declarations that hide virtual functions declared in a base class (gcc -Woverloaded-virtual).NO: Do not warn about function declarations that hide virtual functions declared in a base class
Default value:
NO
GCC_WARN_INHIBIT_ALL_WARNINGS (Inhibit All Warnings)
Description:
Boolean value. Specifies whether to suppress warnings.
Values:
YES: Suppress all warnings (gcc -w).NO: Do not suppress warnings.
Boolean value. Specifies whether to warn about classes that declare a nonvirtual destructor that should be virtual (when the compiler determines that the class is used polymorphically). This build setting applies only to C++ and Objective-C++ source files.
Values:
YES: Warn about nonvirtual destructors that should be virtual (gcc -Wnon-virtual-dtor).NO: Do not warn about nonvirtual destructors that should be virtual.
Default value:
NO
GCC_WARN_PEDANTIC (Pedantic Warnings)
Description:
Boolean value. Specifies whether to warn about source code that does not adhere to ISO C or ISO C++ standards.
Values:
YES: Warn about nonadherence to ISO C or ISO C++ standards (gcc -pedantic).NO: Do not warn about nonadherence to ISO C or ISO C++ standards.
Default value:
NO
GCC_WARN_SHADOW (Hidden Local Variables)
Description:
Boolean value. Specifies whether to warn about local symbols that shadow another local variable, parameter, or global variable, built-in function.
Values:
YES: Warn about shadowed symbols (gcc -Wshadow).NO: Do not warn about shadowed symbols.
Default value:
NO
GCC_WARN_SIGN_COMPARE (Sign Comparison)
Description:
Boolean value. Specifies whether to warn about comparisons between signed and unsigned values that could produce an incorrect result when the signed value is converted to unsigned.
Values:
YES: Warn about sign discrepancies in comparisons (gcc -Wsign-compare).NO: Do not warn about sign discrepancies in comparisons.
Default value:
NO
HEADER_SEARCH_PATHS (Header Search Paths)
Description:
Space-separated list of directory paths. Specifies directories in which to search for header files. (In GCC, this list is passed in the gcc -I option.) When this build setting is defined, $SDKROOT is added to the beginning of each system-header path passed to the compiler.
Numeric identifier. Identifies the earliest iOS version the product is to run on. This build setting is available in Run Script build phases only when it is set to a specific iOS version.
Values:
2.0: Product runs on iOS 2.0 and later.2.1: Product runs on iOS 2.1 and later.2.2: Product runs on iOS 2.2 and later.2.2.1: Product runs on iOS 2.2.1 and later.3.0: Product runs on iOS 3.0 and later.3.1: Product runs on iOS 3.1 and later.3.1.2: Product runs on iOS 3.1.2 and later.3.1.3: Product runs on iOS 3.1.3 and later.3.2: Product runs on iOS 3.2 and later.4.0: Product runs on iOS 4.0 and later.
Default value:
Compiler default. Product runs on the iOS version SDKROOT targets, and later.
Numeric identifier. Identifies the earliest OS X version the product is to run on. This build setting is available in Run Script build phases only when it is set to a specific OS X version.
Values:
10.1: Product runs on 10.1 if no 10.2 or 10.3 API is used, on 10.2 with weak linking, and on 10.3 or later fully linked.10.2: Product runs on 10.2 with weak linking, and on 10.3 or later fully linked.10.3: Product runs only on 10.3 and later.10.4: Product runs only on 10.4 and later.10.5: Product runs only on 10.5 and later.10.6: Product runs only on 10.6 and later.
Default value:
Compiler default. Product runs on the OS X version SDKROOT targets, and later.
Space-separated list of option specifications. Specifies additional options for compiling C-based precompiled headers and implementation files. These options are passed (as given) to the compiler whether other build settings also specify values that correspond to these options. Therefore, you should look for the appropriate compiler build setting to specify a particular compiler option before using this build setting.
Space-separated list of option specifications. Specifies additional options for compiling C-based (including C++) precompiled headers and implementation files for the specified variant. These options are passed (as given) to the compiler whether other build settings also specify values that correspond to these options. Therefore, you should look for the appropriate compiler build setting to specify a particular compiler option before using this build setting.
Space-separated list of option specifications. Specifies additional options for compiling C++–based precompiled headers and implementation files. These options are passed (as given) to the compiler whether other build settings also specify values that correspond to these options. Therefore, you should look for the appropriate compiler build setting to specify a particular compiler option before using this build setting.
Space-separated list of directory paths. Specifies directories to search for header files included in source files using quotation marks ("") instead of angle brackets (<>). User header files are supported in GCC 4.0 and later. Relative paths are relative to the project directory (SRCROOT). Xcode build tools, such as GCC, are invoked with their working directory set to SRCROOT. Third-party build tools should take care not to change the working directory; otherwise, the relative search paths passed to them may produce unexpected results.
Space-separated list of option specifications. Specifies additional warning options for compiling C-based (including C++) precompiled headers and implementation files. These options are passed (as given) to the compiler whether other build settings also specify values that correspond to these options. Therefore, you should look for the appropriate compiler build setting to specify a particular warning option before using this build setting.
Default value:
None.
Related to:
GCC_WARN… build settings.
Interface Builder Compiler Build Settings
These build settings specify options for the Interface Builder compiler.
IBC_FLATTEN_NIBS (Flatten Compiles XIB Files)
Description:
Boolean value. Specifies whether to strip a nib files to reduce their size. The resulting nib file is more compact but is not editable.
Values:
YES: Strips nib files, making them uneditable.NO: Does not strip nib files.
Space-separated list of option specifications. Specifies additional options for compiling nib files. These options are passed (as given) to the compiler whether other build settings also specify values that correspond to these options. Therefore, you should look for the appropriate compiler build setting to specify a particular compiler option before using this build setting.
Default value:
None.
IBC_OVERRIDING_PLUGINS_AND_FRAMEWORKS_DIR (Overriding Plug-In and Framework Directory)
Description:
Directory path. Identifies the directory from which to load frameworks and Interface Builder plug-ins.
Example value:
(BUILDDIR)/(BUILD_DIR)/(BUILDDIR)/(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME). Loads frameworks and plug-ins from the built products directory of the active build configuration.
Default value:
None.
IBC_PLUGIN_SEARCH_PATHS (Plug-In Search Paths)
Description:
Space-separated list of directory paths. Identifies directories to be searched for Interface Builder plug-ins to load when compiling xib files.
Default value:
None.
IBC_PLUGINS (Plug-Ins)
Description:
Space-separated list of file paths. Identifies Interface Builder plug-ins to load when compiling xib files.
Default value:
None.
IBC_ERRORS (Show Errors)
Description:
Boolean value. Specifies whether to emit xib-file–compilation errors.
Values:
YES: Emits xib-file–compilation errors.NO: Does not emit xib-file–compilation errors.
Default value:
YES.
IBC_NOTICES (Show Notices)
Description:
Boolean value. Specifies whether to emit xib-file–compilation notices.
Values:
YES: Emits xib-file–compilation notices.NO: Does not emit xib-file–compilation notices.
Default value:
YES.
IBC_WARNINGS (Show Warnings)
Description:
Boolean value. Specifies whether to emit xib-file–compilation warnings.
Values:
YES: Emits xib-file–compilation warnings.NO: Does not emit xib-file–compilation warnings.
Default value:
YES.
Linker Build Settings
These build settings specify linking options.
DEAD_CODE_STRIPPING (Dead Code Stripping)
Description:
Boolean value. Specifies whether dead code is stripped from the binary.
Prerequisite:
$GCC_DEBUGGING_SYMBOLS = full
Values:
YES: Dead code is stripped from the binary when the prerequisite is met.NO: Dead code is not stripped from the binary.
Project file path. Identifies a file containing the names of global symbols to be exported from the binary. All other symbols are treated as if they had been marked as private. See Minimizing Your Exported Symbols in Code Size Performance Guidelines and ld -exported_symbols_list for details on exporting symbols.
Boolean value. Specifies whether private external symbols remain so in the binary.
Values:
YES: Private external symbols in source code are private external in the binary (ld -keep_private_externs).NO: Private external symbols in source code are static symbols in the binary.
Space-separated list of directory paths. Specifies the run-path locations at which the dynamic loader searches for the product’s run-path dependent libraries. See Dynamic Library Programming Topics.
Space-separated list of directory paths. Specifies directories in which the linker searches for included libraries to link the binary against. Adding ** to the end of a path specifies a recursive path. When this build setting is defined, $SDKROOT is added to the beginning of each path passed to the linker.
LINK_WITH_STANDARD_LIBRARIES (Link With Standard Libraries)
Description:
Boolean value. Specifies whether to link the binary against the standard libraries.When not linking against the standard libraries, you should use OTHER_LDFLAGS (Other Linker Flags) to specify the libraries to link binary against.
Values:
YES: Binary is linked against standard libraries.NO: Binary is not linked against standard libraries.
Boolean value. Specifies whether the linker displays additional information about undefined symbols, such as the source file the symbol is used in and whether the file references or defines the symbol.
Values:
YES: The linker displays additional information about undefined symbols (ld -Y).NO: The linker does not display additional information about undefined symbols.
Boolean value. Specifies whether the linker displays mangled names for C++ symbols. This information can help in diagnosing C++ linking problems.
Values:
YES: The linker displays mangled names for C++ symbols (ld --no-demangle).NO: The linker does not display mangled names for C++ symbols.
Default value:
NO
OTHER_LDFLAGS (Other Linker Flags)
Description:
Space-separated list of option specifications. Specifies additional options for linking the binary. These options are passed (as given) to the linker whether other build settings also specify values that correspond to these options. Therefore, you should look for the appropriate linker build setting to specify a particular linker option before using this build setting.
Space-separated list of option specifications. Specifies additional options for linking the binary for the specified variant. These options are passed (as given) to the linker whether other build settings also specify values that correspond to these options. Therefore, you should look for the appropriate linker build setting to specify a particular linker option before using this build setting.
PRESERVE_DEAD_CODE_INITS_AND_TERMS (Don’t Dead-Strip Inits and Terms)
Description:
Boolean value. Specifies whether to prevent initialization and termination routines from being dead-code stripped.
Prerequisite:
$DEAD_CODE_STRIPPING = YES
Values:
YES: Prevents dead-code stripping of initializers and terminators when the prerequisite is met.NO: Does not prevent dead-code stripping of initializers and terminators.
STANDARD_C_PLUS_PLUS_LIBRARY_TYPE (C++ Standard Library Type)
Description:
Identifier. Specifies how the binary is linked against the C++ standard library: As a dynamic library or as a static library.
Prerequisite:
$GCC_SYMBOLS_PRIVATE_EXTERN = YES. See for details.
Values:
dynamic: The C++ standard library is linked as a dynamic library.static: The C++ standard library is linked as a static library when the prerequisite is met.
Identifier. Specifies the level of stripping performed on the binary.
Values:
all: Strips the binary completely, removing the symbol table and relocation information.non-global: Strips nonglobal symbols but saves external symbols.debugging: Strips debugging symbols but saves local and global symbols.
Default value:
all: Application and command-line products.non-global: Bundle products.debugging: Library and framework products.
Filename. Specifies the name of the information property list file that specifies the bundled product’s runtime properties. For details on information property list files, see Information Property List Files in_Runtime Configuration Guidelines_.You should not change the value of this build setting from its default. Doing so produces a bundled product that may not work as expected in OS X.
bundle: When MACHOTYPE=mhbundle.dylib:WhenMACH_O_TYPE = mh_bundle.dylib: When MACHOTYPE=mhbundle.dylib:WhenMACH_O_TYPE = mh_dylib.a: When MACHOTYPE=staticlib.none:WhenMACH_O_TYPE = staticlib.none: When MACHOTYPE=staticlib.none:WhenMACH_O_TYPE = mh_executable.
Uniform type identifier. Identifies the type of the product the target builds. Some products may be made up of a single binary or archive. Others may comprise several files, which are grouped under a single directory. These container directories are known as bundles.
Value:
com.apple.package-type.wrapper: In kernel extension, application, bundle, and plug-in targets.com.apple.package-type.wrapper.framework: In framework targets.com.apple.package-type.mach-o-executable: In command-line utility targets.com.apple.package-type.mach-o-dylib: In dynamic library targets.com.apple.package-type.static-library: In static library targets.
PLUGINS_FOLDER_PATH
Description:
Bundle directory path. Specifies the directory that contains the product’s plug-ins.
Identifier. Specifies the extension of the product bundle name (not including the character that separates the extension from the rest of the bundle name).
Effector:
Product type choose when the target was created
Default value:
app: In application products.kext: In kernel extension products.bundle: In bundle and plug-in products.framework: In framework products.none: In command-line utility, dynamic library, and static library products.
File path. Identifies a property-list file containing resource-scanning instructions that override the rules for identifying bundle resources to sign.
Example value:
ResourceRules.plist
OTHER_CODE_SIGN_FLAGS (Other Code Signing Flags)
Description:
Space-separated list of option specifications. Specifies additional options to codesign for code-signing binaries.
Example value:
-i MySigningIdentifier
Copy Build Settings
These build settings specify file-copying options.
COPY_PHASE_STRIP (Strip Debug Symbols During Copy)
Description:
Boolean value. Specifies whether copied binaries are stripped of debugging symbols.
Values:
YES: Copied binaries are stripped of debugging symbols. This does not cause the binary produced by the linker to be stripped. Use STRIP_INSTALLED_PRODUCT (Strip Linked Product) to have the linker strip the binary.NO: Copied binaries are not stripped of debugging symbols
Default value:
NO
INSTALLHDRS_COPY_PHASE
Description:
Boolean value. Specifies whether the target’s Copy Files build phases are executed in install-header builds.
Values:
YES: Copy Files build phases are executed in install-header builds.NO: Copy Files build phases are not executed in install-header builds.
Boolean value. Specifies whether the target’s Run Script build phases are executed in install-header builds. See ACTION for details on install-header builds.
Values:
YES: Run Script build phases are executed in install-header builds.NO: Run Script build phases are not executed in install-header builds.