ACTION
Active Build Action
- 类型
- 字符串
A string identifying the build system action being performed.Apple 页面按名称、Xcode 里显示的标题或 Apple 说明里的词查找任何构建设置,查看它的类型和 Xcode 接受的值。也可以粘贴 .xcconfig 文件,找出会让 Xcode 忽略整个文件的行、Xcode 读到的值和你写的不一样的地方,以及根本不存在的设置。所有内容都不会上传。
设置项和说明取自 Apple 的 Build settings reference;类型和允许的值取自 Xcode 27.1 自带的设置定义;核对于 2026-10-31。
共 0 项,显示 0 项
Active Build Action
A string identifying the build system action being performed.Apple 页面Additional SDKs
The locations of any sparse SDKs that should be layered on top of the one specified by SDKROOT. If more than one SDK is listed, the first one has highest precedence. Every SDK specified in this setting should be a “sparse” SDK, for example, not an SDK for an entire macOS release.Apple 页面Allow Multi-Platform Builds
NOIf enabled, allows targets to build multiple times within a single build operation. Targets will build for the platform of the active run destination, as well as the platforms of any targets which depend on them.Apple 页面Alternate Install Group
$(INSTALL_GROUP)The group name or gid for the files listed under the ALTERNATE_PERMISSIONS_FILES setting.Apple 页面Alternate Install Permissions
$(INSTALL_MODE_FLAG)Permissions used for the files listed under the ALTERNATE_PERMISSIONS_FILES setting.Apple 页面Alternate Install Owner
$(INSTALL_OWNER)The owner name or uid for the files listed under the ALTERNATE_PERMISSIONS_FILES setting.Apple 页面Alternate Permissions Files
List of files to which the alternate owner, group and permissions are applied.Apple 页面Alternative Distribution - Web
NOEnable overriding your app’s distributor identifier for web distribution when running from Xcode.Apple 页面Always Embed Swift Standard Libraries
$(EMBEDDED_CONTENT_CONTAINS_SWIFT)Always embed the Swift standard libraries in the target’s products, even if the target does not contain any Swift code. For example, this should be enabled if the target is embedding other products which contain Swift, or if it is a test target which does not contain Swift but which is testing a product which does. This setting only applies to wrapped products, not to standalone binary products.Apple 页面Always Search User Paths (Deprecated)
YESThis setting is deprecated as of Xcode 8.3 and may not be supported in future versions. It is recommended that you disable the setting.
If enabled, both #include <header.h>-style and #include "header.h"-style directives search the paths in USER_HEADER_SEARCH_PATHS before HEADER_SEARCH_PATHS. As a consequence, user headers, such as your own String.h header, have precedence over system headers when using #include <header.h>. This is done using the -iquote flag for the paths provided in USER_HEADER_SEARCH_PATHS. If disabled and your compiler fully supports separate user paths, user headers are only accessible with #include "header.h"-style preprocessor directives.
For backwards compatibility reasons, this setting is enabled by default. Disabling it is strongly recommended.Apple 页面Require Only App-Extension-Safe API
NOWhen enabled, this causes the compiler and linker to disallow use of APIs that are not available to app extensions and to disallow linking to frameworks that have not been built with this setting enabled.Apple 页面Convert Copied Files
NOEnabling this setting will cause files in the target’s Copy Files build phases to be processed by build rules. For example, property list files (.plist) and strings files will be converted as specified by PLIST_FILE_OUTPUT_FORMAT and STRINGS_FILE_OUTPUT_ENCODING, respectively.Apple 页面Process Header Files
NOEnabling this setting will cause all Public and Private headers in the target’s Copy Headers build phase to be processed by build rules. This allows custom build rules to be defined to process these headers. Custom script rules can define their outputs relative to HEADER_OUTPUT_DIR, which will be provided to that script, taking the header visibility into account. The scripts are also passed SCRIPT_HEADER_VISIBILITY (“public” or “private”). Files that should not be processed by build rules may need to be moved to a Copy Files build phase when this setting is enabled.Apple 页面Enable App Shortcuts Flexible Matching
YESWhen enabled, generates assets needed for App Shortcuts Flexible Matching.Apple 页面Architectures
$(ARCHS_STANDARD)A list of the architectures for which the product will be built. This is usually set to a predefined build setting provided by the platform. If more than one architecture is specified, a universal binary will be produced.Apple 页面Alternate App Icon Sets
A set of additional app icon set names to include as in the built product. The icons will be available at runtime for use as alternate app icons. This is an alternative to --include-all-app-icons providing more detailed control.Apple 页面Primary App Icon Set Name
Name of an app icon set for the target’s default app icon. The contents will be merged into the Info.plist.Apple 页面Watch Complication Name
The name of a watch complication to use from the asset catalog.Apple 页面Generate Asset Symbols
YESGenerate asset symbols for each color and image in the catalog.Apple 页面Generate Swift Asset Symbol Framework Support
SwiftUI UIKit AppKitGenerate asset symbol support for the specified UI frameworks (e.g. SwiftUI, UIKit, AppKit).Apple 页面Generate Swift Asset Symbol Extensions
NOGenerate asset symbol extensions on Apple framework color and image types.Apple 页面Global Accent Color Name
The name of a color resource to use as a the target’s accent color, used as the default tint color on iOS and watchOS, and accent color on macOS.Apple 页面Include All App Icon Assets
NOWhen true, all app icon assets from the target’s Asset Catalogs will be included in the built product, making the available at runtime for use as alternate app icons. When false, only the primary app icon will be included in the built product.Apple 页面Include Asset Localizations in Info.plist
YESWhen enabled, includes the localization information of the selected assets in the generated partial Info.plist file under the CFBundleLocalizations key. This will allow the assets to be used at runtime in the absence of a corresponding lproj directory in the bundle.Apple 页面Asset Catalog Launch Image Set Name
Name of an asset catalog launch image set whose contents will be merged into the Info.plist.Apple 页面Leaderboard Identifier Prefix
$(PRODUCT_NAME:identifier).game-center.leaderboard.Leaderboards in the asset catalog may optionally specify a Game Center identifier. If they do not, their name will be prefixed by this value to form an automatically generated identifier.Apple 页面Leaderboard Set Identifier Prefix
$(PRODUCT_NAME:identifier).game-center.leaderboard-set.Leaderboard sets in the asset catalog may optionally specify a Game Center identifier. If they do not, their name will be prefixed by this value to form an automatically generated identifier.Apple 页面Optimization
space · timeWith no value, the compiler uses the default optimization. You can also specify time to optimize for speed of access or space to optimize for a smaller compiled asset catalogs.Apple 页面Skip App Store Deployment
Whether to perform App Store-specific behaviors such as validations. For example, building for an iOS or watchOS app will warn if a 1024 App Store icon is not present, but only when compiling for App Store deployment.Apple 页面Standalone Icon File Behavior
all · default · nonedefaultControls whether loose PNG or ICNS files are created for the primary app icon, in addition to including the content in the Assets.car file. By default, a small subset of sizes are included as loose files, allowing external management tools to display a representative icon without reading the CAR file. This can be set to ‘all’ or ‘none’ to include more or fewer icon sizes as loose files.Apple 页面Sticker Pack Identifier Prefix
Sticker Packs in the asset catalog may optionally specify an identifier. If they do not, their name will be prefixed by this value to form an automatically generated identifier.Apple 页面Widget Background Color Name
The name of a color resource to use as the background color for a widget.Apple 页面Show Notices
YESShow notices encountered during the compilation of asset catalogs.Apple 页面Asset Catalog Other Flags
Pass additional flags through to the asset catalog compiler.Apple 页面Show Warnings
YESShow warnings encountered during the compilation of asset catalogs.Apple 页面Asset Pack Manifest URL Prefix
If set to anything other than the empty string, every URL in the AssetPackManifest.plist file will consist of this string with the name of the asset pack appended. If not set, the URLs in the AssetPackManifest.plist will be formed as appropriate for the build location of the asset packs. The prefix string is not escaped or quoted in any way, so any necessary escaping must be part of the URL string. This setting affects only URLs in the AssetPackManifest.plist file — it does not affect where asset packs are built in the local file system.Apple 页面Apple Events
NOA Boolean value that indicates whether the app may prompt the user for permission to send Apple events to other apps.Apple 页面Active Build Components
A list of components being built during this action.Apple 页面Build Libraries for Distribution
NOEnsures that your libraries are built for distribution. For Swift, this enables support for library evolution and generation of a module interface file.Apple 页面Build Known Localizations Only
NOWhen enabled, only builds content for languages explicitly supported by the project.Apple 页面Build Variants
normalA list of the build variants of the linked binary that will be produced. By default, only the normal variant is produced. Other common values include debug and profile.Apple 页面BUILT_PRODUCTS_DIR
$(CONFIGURATION_BUILD_DIR)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.Apple 页面Bundle Loader
Specifies the executable that will load the bundle output file being linked. Undefined symbols from the bundle are checked against the specified executable as if it is one of the dynamic libraries the bundle was linked with.Apple 页面Enable C++ Container Overflow Checks
NOCheck for C++ container overflow when Address Sanitizer is enabled. This check requires the entire application to be built with Address Sanitizer. If not, it may report false positives.Apple 页面Allow Non-modular Includes In Framework Modules
NOEnabling this setting allows non-modular includes to be used from within framework modules. This is inherently unsafe, as such headers might cause duplicate definitions when used by any client that imports both the framework and the non-modular includes.Apple 页面Dead Stores
YESCheck for values stored to variables and never read again.Apple 页面Division by Zero
YESCheck for division by zero.Apple 页面Misuse of Grand Central Dispatch
YESCheck for misuses of the Grand Central Dispatch API.Apple 页面Performance Anti-Patterns with Grand Central Dispatch
NO · YESNOCheck for Grand Central Dispatch idioms that may lead to poor performance.Apple 页面Violation of IOKit and libkern Reference Counting Rules
YESFinds leaks and over-releases associated with objects inheriting from OSObject.Apple 页面Missing Localization Context Comment
NO · YESNOWarn when a call to an NSLocalizedString() macro is missing a context comment for the localizer.Apple 页面Missing Localizability
NO · YESNOWarn when a nonlocalized string is passed to a user interface method expecting a localized string.Apple 页面Improper Memory Management
$(CLANG_ANALYZER_MALLOC)Warn about memory leaks, use-after-free, and other API misuses.Apple 页面Violation of Mach Interface Generator Conventions
NO · YESYESWarn when a MIG routine violates memory management conventions.Apple 页面Misuse of ‘nonnull’
NO · YES · YES_NONAGGRESSIVEYES_NONAGGRESSIVECheck for misuses of nonnull parameter and return types.Apple 页面Dereference of Null Pointers
YESCheck for dereferences of null pointers.Apple 页面Suspicious Conversions of NSNumber and CFNumberRef
NO · YES · YES_AGGRESSIVEYESWarn when a number object, such as an instance of NSNumber, CFNumberRef, OSNumber, or OSBoolean is compared or converted to a primitive value instead of another object.Apple 页面@synchronized with nil mutex
YESWarn on nil pointers used as mutexes for @synchronized.Apple 页面Misuse of Collections API
YESWarn if CF collections are created with non-pointer-size values. Check if NS collections are initialized with non-Objective-C type elements.Apple 页面Improper Instance Cleanup in ‘-dealloc’
YESWarn when an instance is improperly cleaned up in -dealloc.Apple 页面Misuse of Objective-C generics
YESWarn if a specialized generic type is converted to an incompatible type.Apple 页面Method Signatures Mismatch
YESWarn about Objective-C method signatures with type incompatibilities.Apple 页面Improper Handling of CFError and NSError
YESWarn if functions accepting CFErrorRef or NSError cannot indicate that an error occurred.Apple 页面Violation of Reference Counting Rules
YESWarn on leaks and improper reference count management.Apple 页面Violation of ‘self = [super init]’ Rule
YESCheck that super init is properly called within an Objective-C initialization method.Apple 页面Unused Ivars
YESWarn about private ivars that are never used.Apple 页面C-style Downcasts of IOKit Objects
NOWarn when a C-style cast is used for downcasting a pointer to an OSObject. RTTI-aware casts (OSRequiredCast, OSDynamicCast) are more secure and should be used instead of C-style casts in order to avoid potential type confusion attacks.Apple 页面EXPERIMENTAL Buffer overflows
NOCheck for potential buffer overflows.Apple 页面Floating Point Value Used as Loop Counter
NOWarn on using a floating point value as a loop counter (CERT: FLP30-C, FLP30-CPP).Apple 页面Use of ‘getpw’, ‘gets’ (Buffer Overflow)
YESWarn on uses of getpw and gets. The functions are dangerous as they may trigger a buffer overflow.Apple 页面Use of ‘mktemp’ or Predictable ‘mktemps’
YESWarn on uses of mktemp, which produces predictable temporary files. It is obsoleted by mktemps. Warn when mkstemp is passed fewer than 6 X’s in the format string.Apple 页面Use of ‘rand’ Functions
NOWarn on uses of rand, random, and related functions, which produce predictable random number sequences. Use arc4random instead.Apple 页面Use of ‘strcpy’ and ‘strcat’
NOWarn on uses of the strcpy and strcat functions, which can result in buffer overflows. Use strlcpy or strlcat instead.Apple 页面Unchecked Return Values
YESWarn on uses of sensitive functions whose return values must be always checked.Apple 页面Use of ‘vfork’
YESWarn on uses of the vfork function, which is inherently insecure. Use the safer posix_spawn function instead.Apple 页面Misuse of Keychain Services API
YESCheck for leaks of keychain attribute lists and data buffers returned by the Keychain Services API.Apple 页面Use-After-Move Errors in C++
NO · YES · YES_AGGRESSIVEYES_AGGRESSIVEWarn when a C++ object is used after it has been moved from.Apple 页面C++ Language Dialect
c++0x · c++14 · c++17 · c++20 · c++23 · c++98 · compiler-default · gnu++0x · gnu++14 · gnu++17 · gnu++20 · gnu++23 · gnu++98compiler-defaultChoose a standard or non-standard C++ language dialect. Options include:
• C++98: Accept ISO C++ 1998 with amendments, but not GNU extensions. [-std=c++98]
• GNU++98: Accept ISO C++ 1998 with amendments and GNU extensions. [-std=gnu++98]
• C++11: Accept the ISO C++ 2011 standard with amendments, but not GNU extensions. [-std=c++11]
• GNU++11: Accept the ISO C++ 2011 standard with amendments and GNU extensions. [-std=gnu++11]
• C++14: Accept the ISO C++ 2014 standard with amendments, but not GNU extensions. [-std=c++14]
• GNU++14: Accept the ISO C++ 2014 standard with amendments and GNU extensions. [-std=gnu++14]
• C++17: Accept the ISO C++ 2017 standard with amendments, but not GNU extensions. [-std=c++17]
• GNU++17: Accept the ISO C++ 2017 standard with amendments and GNU extensions. [-std=gnu++17]
• C++20: Accept the ISO C++ 2020 standard with amendments, but not GNU extensions. [-std=c++20]
• GNU++20: Accept the ISO C++ 2020 standard with amendments and GNU extensions. [-std=gnu++20]
• C++23: Accept the ISO C++ 2023 standard with amendments, but not GNU extensions. [-std=c++23]
• GNU++23: Accept the ISO C++ 2023 standard with amendments and GNU extensions. [-std=gnu++23]
• Compiler Default: Tells the compiler to use its default C++ language dialect. This is normally the best choice unless you have specific needs. (Currently equivalent to GNU++98.)Apple 页面Enable C++ Standard Library Hardening
debug · extensive · fast · none$(__LIBRARY_HARDENING_DEFAULT_VALUE)Enable hardening in the C++ standard library.
Available values:
• No: No runtime hardening checks.
• Yes (fast): Enable low-overhead security-critical checks at runtime.
• Yes (extensive): Enable low-overhead checks at runtime to find security issues as well as general logic errors.
• Yes (debug): Enable all available checks in the library, including high-overhead heuristic checks and internal assertions. This mode should not be used in production.
This setting defines the value of the _LIBCPP_HARDENING_MODE preprocessor macro.Apple 页面Debug Information Level
default · line-tables-onlydefaultToggles the amount of debug information emitted when debug symbols are enabled. This can impact the size of the generated debug information, which may matter in some cases for large projects, such as when using LTO.Apple 页面Enable Typed Allocator in C++
NO · YES · compiler-default$(_CLANG_ENABLE_TYPED_ALLOCATOR_SUPPORT_DEFAULT)Enables compiler rewriting of allocation calls in C++ to provide type information to the allocator. Mitigates use-after-free security vulnerabilities.Apple 页面Destroy Static Objects
YESControls whether variables with static or thread storage duration should have their exit-time destructors run.Apple 页面Enable Typed Allocator in C
NO · YES · compiler-default$(_CLANG_ENABLE_TYPED_ALLOCATOR_SUPPORT_DEFAULT)Enables compiler rewriting of allocation calls in C to provide type information to the allocator. Mitigates use-after-free security vulnerabilities.Apple 页面Enable Modules (C and Objective-C)
NOEnables the use of modules for system APIs. System headers are imported as semantic modules instead of raw headers. This can result in faster builds and project indexing.Apple 页面Enable Clang Module Debugging
YESWhen this setting is enabled, clang will use the shared debug info available in clang modules and precompiled headers. This results in smaller build artifacts, faster compile times, and more complete debug info. This setting should only be disabled when building static libraries with debug info for distribution.Apple 页面Objective-C Automatic Reference Counting
NOCompiles reference-counted Objective-C code to use Automatic Reference Counting. Code compiled using automated reference counting is compatible with other code (such as frameworks) compiled using either manual reference counting (for example, traditional retain and release messages) or automated reference counting. [-fobjc-arc]Apple 页面Enable Objective-C ARC Exceptions
NOThis setting causes clang to use exception-handler-safe code when synthesizing retains and releases when using ARC. Without this, ARC is not exception-safe. Only applies to Objective-C. [-fobjc-arc-exceptions]Apple 页面Weak References in Manual Retain Release
NOCompiles Objective-C code to enable weak references for code compiled with manual retain release (MRR) semantics.Apple 页面Enable Stack Zero Initialization
$(ENABLE_ENHANCED_SECURITY)Automatically initializes stack variables to zero as a security protection.Apple 页面Do not index C macros
NODo not emit entries for C macros into the Index Store.Apple 页面Implicitly Link Objective-C Runtime Support
$(LINK_OBJC_RUNTIME)When linking a target using Objective-C code, implicitly link in Foundation (and if deploying back to an older OS) a backwards compatibility library to allow newer language features to run on an OS where the runtime support is not natively available. Most targets that use Objective-C should use this, although there are rare cases where a target should opt out of this behavior.Apple 页面Link Frameworks Automatically
YESAutomatically link SDK frameworks that are referenced using #import or #include. This feature requires also enabling support for modules. This build setting only applies to C-family languages.Apple 页面Disable Private Modules Warnings
NODisable warnings related to the recommended use of private module naming. This only makes sense when support for modules is enabled.Apple 页面Optimization Profile File
$(SRCROOT)/OptimizationProfiles/$(PROJECT_NAME).profdataThe path to the file of the profile data to use when CLANG_USE_OPTIMIZATION_PROFILE is enabled.Apple 页面Mode of Analysis for ‘Build’
deep · shallowshallowThe depth the static analyzer uses during the Build action. Use Deep to exercise the full power of the analyzer. Use Shallow for faster analysis.Apple 页面Mode of Analysis for ‘Analyze’
deep · shallowdeepThe depth the static analyzer uses during the Analyze action. Use Deep to exercise the full power of the analyzer. Use Shallow for faster analysis.Apple 页面Side Effects in Assert Conditions
YESWarn when condition of assert or NSAssert has a side effect. Assert conditions are not evaluated during release builds.Apple 页面Infinite Loops
YESWarn when a loop is discovered to have no termination condition.Apple 页面Moves of Universal References
YESWarn when use of std::move on a universal reference would cause non-expiring lvalue arguments to be moved unexpectedly.Apple 页面Redundant Nested ‘if’ Conditions
NOWarn when an if-statement is redundant because its condition is equivalent to the condition of a larger if-statement it is nested into.Apple 页面Redundant Expressions
NOWarn when a sub-expression of an arithmetic or logic expression can be omitted because it has no effect on the result.Apple 页面Trivial automatic variable initialization
default · pattern · uninitialized · zero$(_CLANG_TRIVIAL_AUTO_VAR_INIT_DEFAULT)Specify whether stack variables should be uninitialized, which can cause inadvertent information disclosure when uninitialized stack variables are used, or whether they should be pattern-initialized.Apple 页面Enable Extra Integer Checks
NOCheck for unsigned integer overflow, in addition to checks for signed integer overflow.Apple 页面Enable Nullability Annotation Checks
NOCheck for violations of nullability annotations in function calls, return statements, and assignments.Apple 页面Use Optimization Profile
NOWhen this setting is enabled, clang will use the optimization profile collected for a target when building it.Apple 页面Use Response Files
YESWhen this setting is enabled, the build system will use response files to share common arguments between similar invocations of clang, eliminating redundant information in build logs.Apple 页面Out-of-Range Enum Assignments
NOWarn about assigning integer constants to enum values that are out of the range of the enumerated type.Apple 页面Usage of implicit sequentially-consistent atomics
NOWarns when an atomic is used with an implicitly sequentially-consistent memory order, instead of explicitly specifying memory order.Apple 页面Block Capture of Autoreleasing
NO · YES · YES_ERRORNOWarn about block captures of implicitly autoreleasing parameters.Apple 页面Implicit Boolean Conversions
NO · YES · YES_ERROR$(CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION)Warn about implicit conversions to boolean values that are suspicious. For example, writing if (foo) where foo is the name a function will trigger a warning.Apple 页面Suspicious Commas
NO · YES · YES_ERRORNOWarn about suspicious uses of the comma operator.Apple 页面Completion Handler Misuse
NOWarn when a function-like parameter annotated as a completion handler is called more than once or not called at all on an execution path.Apple 页面Implicit Constant Conversions
NO · YES · YES_ERROR$(CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION)Warn about implicit conversions of constant values that cause the constant value to change, either through a loss of precision, or entirely in its meaning.Apple 页面Using C++11 extensions in earlier versions of C++
NOWhen compiling C++ code using a language standard older than C++11, warn about the use of C++11 extensions.Apple 页面Deleting Instance of Polymorphic Class with No Virtual Destructor
NO · YES · YES_ERRORYESWarn when deleting an instance of a polymorphic class with virtual functions but without a virtual destructor.Apple 页面Overriding Deprecated Objective-C Methods
NOWarn if an Objective-C class either subclasses a deprecated class or overrides a method that has been marked deprecated or unavailable.Apple 页面Direct usage of ‘isa’
NO · YES · YES_ERRORYESWarn about direct accesses to the Objective-C isa pointer instead of using a runtime API.Apple 页面Documentation Comments
NOWarns about issues in documentation comments (doxygen-style) such as missing or incorrect documentation tags.Apple 页面Empty Loop Bodies
$(CLANG_ENABLE_SECURITY_COMPILER_WARNINGS)Warn about loop bodies that are suspiciously empty.Apple 页面Implicit Enum Conversions
NO · YES · YES_ERROR$(CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION)Warn about implicit conversions between different kinds of enum values. For example, this can catch issues when using the wrong enum flag as an argument to a function or method.Apple 页面Implicit Float Conversions
NO · YES · YES_ERROR$(CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION)Warn about implicit conversions that turn floating-point numbers into integers.Apple 页面Public Framework Header Includes Private Framework Header
NO · YESNOWarns when a public framework header includes a private framework header.Apple 页面Implicit Fallthrough in Switch Statement
NO · YES · YES_ERRORNOWarn about implicit fallthrough in switch statement. Use __attribute__((fallthrough)) (C/ObjC) or [[fallthrough]] (C++) to mark intentional fallthrough.Apple 页面Implicit Signedness Conversions
NO · YES · YES_ERRORNOWarn about implicit integer conversions that change the signedness of an integer value.Apple 页面Infinite Recursion
NOWarn if all paths through a function call itself.Apple 页面Implicit Integer to Pointer Conversions
NO · YES · YES_ERROR$(CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION)Warn about implicit conversions between pointers and integers. For example, this can catch issues when one incorrectly intermixes using NSNumber*’s and raw integers.Apple 页面Missing Noescape Annotation
NO · YES · YES_ERRORYESWarn about noescape annotations that are missing in a method’s signature.Apple 页面Implicit Non-Literal Null Conversions
NO · YES · YES_ERROR$(CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION)Warn about non-literal expressions that evaluate to zero being treated as a null pointer.Apple 页面Incorrect Uses of Nullable Values
NOWarns when a nullable expression is used somewhere it’s not allowed, such as when passed as a _Nonnull parameter.Apple 页面Implicit ownership types on out parameters
NOWarn about implicit ownership types on Objective-C object references as out parameters. For example, declaring a parameter with type NSObject** will produce a warning because the compiler will assume that the out parameter’s ownership type is __autoreleasing.Apple 页面Implicit Atomic Objective-C Properties
NOWarn about @property declarations that are implicitly atomic.Apple 页面Implicit retain of ‘self’ within blocks
NOWarn about implicit retains of self within blocks, which can create a retain-cycle.Apple 页面Interface Declarations of Instance Variables
NO · YES · YES_ERRORNOWarn about instance variable declarations in @interface.Apple 页面Implicit Objective-C Literal Conversions
NO · YES · YES_ERROR$(CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION)Warn about implicit conversions from Objective-C literals to values of incompatible type.Apple 页面Implicit Synthesized Properties
NOStarting in Xcode 4.4, Apple Clang will implicitly synthesize properties that are not explicitly synthesized using @synthesize. This setting warns about such implicit behavior, even though the property is still synthesized. This is essentially a backwards compatibility warning, or for those who wish to continue to explicitly use @synthesize.Apple 页面Repeatedly using a __weak reference
NO · YES · YES_AGGRESSIVENOWarn about repeatedly using a weak reference without assigning the weak reference to a strong reference. This is often symptomatic of a race condition where the weak reference can become nil between accesses, resulting in unexpected behavior. Assigning to temporary strong reference ensures the object stays alive during the related accesses.Apple 页面Unintentional Root Class
NO · YES · YES_ERRORYESWarn about classes that unintentionally do not subclass a root class, such as NSObject.Apple 页面Suspicious Pragma Pack
NO · YES · YES_ERRORYESWarn when a translation unit is missing terminating ‘#pragma pack (pop)’ directives or when the ‘#pragma pack’ state immediately after an #include is different from the state immediately before.Apple 页面Outdated Private Module Map
YESWarn about private modules that do not use the recommended private module layout.Apple 页面Quoted Include In Framework Header
NO · YES · YES_ERRORNOWarns when a quoted include is used instead of a framework style include in a framework header.Apple 页面Range-based For Loops
NOWarn about ranged-based for loops.Apple 页面Semicolon Before Method Body
NOWarn about ignored semicolon between a method implementation’s signature and body.Apple 页面Strict Prototypes
NO · YES · YES_ERRORNOWarn about non-prototype declarations.Apple 页面Suspicious Implicit Conversions
NO · YES · YES_ERRORNOWarn about various implicit conversions that can lose information or are otherwise suspicious.Apple 页面Suspicious Moves
NOWarn about suspicious uses of std::move.Apple 页面Unguarded availability
NO · YES · YES_AGGRESSIVEYESWarn if an API that is newer than the deployment target is used without “if (@available(…))” guards.Apple 页面Unreachable Code
NO · YES · YES_AGGRESSIVENOWarns about potentially unreachable code.Apple 页面Ambiguous C++ Parsing Situation
NO · YES · YES_ERRORYESWarn about a parsing ambiguity between a variable declaration and a function-style cast.Apple 页面Using __bridge Casts Outside of ARC
YESWarn about using __bridge casts when not using ARC, where they have no effect.Apple 页面Duplicate Method Definitions
NOWarn about declaring the same method more than once within the same @interface.Apple 页面Exit-Time C++ Destructors
NOWarn about destructors for C++ objects that are called when an application is terminating.Apple 页面Enable Additional Vector Extensions
avx · avx2 · avx512 · default · sse3 · sse4.1 · sse4.2 · ssse3$(DEFAULT_SSE_LEVEL_4_2_$(GCC_ENABLE_SSE42_EXTENSIONS))Enables the use of extended vector instructions. Only used when targeting Intel architectures.Apple 页面Code Signing Entitlements
The path to a file specifying code-signing entitlements.Apple 页面Code Signing Identity
The name, also known as the common name, of a valid code-signing certificate in a keychain within your keychain path. A missing or invalid certificate will cause a build error.Apple 页面Code Signing Inject Base Entitlements
YESAutomatically inject entitlements from the platform’s BaseEntitlements.plist into the code signatures of executables.Apple 页面Code Sign Style
Automatic · ManualThis setting specifies the method used to acquire and locate signing assets. Choose Automatic to let Xcode automatically create and update profiles, app IDs, and certificates. Choose Manual to create and update these yourself on the developer website.Apple 页面COMBINE_HIDPI_IMAGES
NOCombines image files at different resolutions into one multi-page TIFF file that is HiDPI compliant for macOS 10.7 and later. Only image files in the same directory and with the same base name and extension are combined. The file names must conform to the naming convention used in HiDPI.Apple 页面Enable Compilation Caching
$(COMPILATION_CACHE_ENABLE_CACHING_DEFAULT)Caches the results of compilations for a particular set of inputs.Apple 页面Compilation Caching Diagnostic Info
Emits diagnostic information for cached compilation tasks.Apple 页面Enable Index-While-Building Functionality
Default · NO · YESDefaultControl whether the compiler should emit index data while building.Apple 页面Compress PNG Files
YESIf enabled, PNG resource files are compressed as they are copied.Apple 页面CONFIGURATION
Identifies the build configuration, such as Debug or Release, that the target uses to generate the product.Apple 页面Per-configuration Build Products Path
$(BUILD_DIR)The base path where build products will be placed during a build for a given configuration. By default, this is set to $(BUILD_DIR)/$(CONFIGURATION).Apple 页面Per-configuration Intermediate Build Files Path
$(PROJECT_TEMP_DIR)The base path where intermediates will be placed during a build for a given configuration. By default, this is set to $(PROJECT_TEMP_DIR)/$(CONFIGURATION).Apple 页面CONTENTS_FOLDER_PATH
Specifies the directory inside the generated bundle that contains the product’s files.Apple 页面Preserve HFS Data
NOCauses the copying of resources to preserve resource forks and Finder info.Apple 页面Run unifdef on Product Headers
NOIf enabled, headers are run through the unifdef(1) tool when copied to the product.Apple 页面Unifdef Flags for Product Headers
Specifies the flags to pass to unifdef(1) when invoking that tool to copy headers. This setting has no effect unless COPY_HEADERS_RUN_UNIFDEF is enabled.Apple 页面Strip Debug Symbols During Copy
YESSpecifies whether binary files that are copied during the build, such as in a Copy Bundle Resources or Copy Files build phase, should be stripped of debugging symbols. It does not cause the linked product of a target to be stripped—use STRIP_INSTALLED_PRODUCT for that.Apple 页面CoreML Model Class Generation Language
Automatic · None · Objective-C · SwiftAutomaticThe Source-code language to use for generated CoreML model class. By default “Automatic” will analyze your project to determine the correct language. Adjust this setting to explicitly select “Swift” or “Objective-C”, or select “None” to disable model class generation.Apple 页面CoreML Generated Model Inherits NSObject
NOGenerate Swift model classes that are marked with @objc and are descendants of NSObject, in order to be accessible and usable in Objective-C. This setting has no effect if “CoreML Model Class Generation Language” is set to “Objective-C”.Apple 页面Cpp Other Preprocessor Flags
Other flags to pass to the C preprocessor when using the standalone C Preprocessor rule.Apple 页面Cpp Preprocessor Definitions
Space-separated list of preprocessor macros of the form foo or foo=bar. These macros are used when preprocessing using the standalone C Preprocessor rule.Apple 页面Create Info.plist Section in Binary
NOEnabling this setting creates a section called __info_plist in the __TEXT segment of the product’s linked binary containing the processed Info.plist file for the target.
You can read the processed Info.plist file from the linked binary at runtime using the CFBundle and NSBundle (Objective-C) or NSBundle (Swift) APIs. To print the processed Info.plist file, use the plutil(1) command-line utility.
This setting only applies to command-line tool targets.Apple 页面CURRENT_ARCH
$(arch)The name of the active architecture being processed.Apple 页面Current Project Version
This setting defines the current version of the project. The value must be a integer or floating point number, such as 57 or 365.8.
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the CFBundleVersion key in the Info.plist file to the value of this build setting.Apple 页面CURRENT_VARIANT
$(variant)The name of the active variant being processed.Apple 页面Compiler Launcher
The path to a compiler launcher. This build setting causes the build system to invoke the launcher tool with the original compiler path and arguments. Examples include distcc and ccache. Don’t use the CC, CPLUSPLUS, OBJCC, or OBJCPLUSPLUS build settings to specify a compiler launcher.Apple 页面Dead Code Stripping
NOActivating this setting causes the -dead_strip flag to be passed to ld(1) via cc(1) to turn on dead code stripping.Apple 页面Debug Information Format
dwarf · dwarf-with-dsymdwarfThe type of debug information to produce.
• DWARF: Object files and linked products will use DWARF as the debug information format. [dwarf]
• DWARF with dSYM File: Object files and linked products will use DWARF as the debug information format, and Xcode will also produce a dSYM file containing the debug information from the individual object files (except that a dSYM file is not needed and will not be created for static library or object file products). [dwarf-with-dsym]Apple 页面Debug Information Version
compiler-default · dwarf4 · dwarf5compiler-defaultThe format of the debug information to produce.
• Compiler Default: The compiler will emit debug information of a version appropriate for the platform and minimum deployment target being built. [compiler-default]
• DWARF 4: The compiler will emit DWARF 4 debug information. [dwarf4]
• DWARF 5: The compiler will emit DWARF 5 debug information. [dwarf5]Apple 页面Defines Module
NOIf enabled, the product will be treated as defining its own module. This enables automatic production of LLVM module map files when appropriate, and allows the product to be imported as a module.Apple 页面Deployment Location
NOIf enabled, built products are placed in their installed locations in addition to the built products folder.Apple 页面Deployment Postprocessing
NOIf enabled, indicates that binaries should be stripped and file mode, owner, and group information should be set to standard values.Apple 页面Deployment Target Build Setting Name
The name of the build setting for the deployment target for the effective platform. This can be used to evaluate the build setting using build setting interpolation without hard-coding the name, e.g. $($(DEPLOYMENT_TARGET_SETTING_NAME)), or to compose the names of other settings which contain its name, such as the RECOMMENDED_<platform>_DEPLOYMENT_TARGET settings.Apple 页面DERIVED_FILE_DIR
Identifies the directory into which derived source files, such as those generated by lex and yacc, are placed.Apple 页面Derive Mac Catalyst Product Bundle Identifier
NOWhen enabled, Xcode will automatically derive a bundle identifier for this target from its original bundle identifier when it’s building for Mac Catalyst.Apple 页面Development Assets
Files and directories used only for development. Archive and install builds will exclude this content.Apple 页面Development Team
The team ID of a development team to use for signing certificates and provisioning profiles.Apple 页面Build Documentation for C++/Objective-C++
YESInclude documentation for symbols defined in C++/Objective-C++ headers.Apple 页面Include Documentation for Symbols in Swift Extensions
YESExtract Swift symbol information for symbols defined within an extension to a type that is not defined in the current module.Apple 页面Build Multi-Language Documentation for Swift Only Targets
NOExtract Objective-C symbol information for targets that contain only Swift code so that the documentation output can be read as both Swift and Objective-C.Apple 页面Build Multi-Language Documentation for Objective-C Only Targets
NOExtract Swift symbol information for targets that contain only Objective-C code so that the documentation output can be read as both Swift and Objective-C.Apple 页面DocC Archive Hosting Base Path
The base path your documentation website will be hosted at. For example, if you plan on hosting your DocC archive at https://example.com/ProjectName/documentation instead of https://example.com/documentation, set this value to "ProjectName".Apple 页面DOCUMENTATION_FOLDER_PATH
Identifies the directory that contains the bundle’s documentation files.Apple 页面Don’t Force Info.plist Generation
NOIf enabled, don’t automatically generate an Info.plist file for wrapped products when the INFOPLIST_FILE build setting is empty.Apple 页面Installation Build Products Location
/tmp/$(PROJECT_NAME).dstThe path at which all products will be rooted when performing an install build. For instance, to install your products on the system proper, set this path to /. Defaults to /tmp/$(PROJECT_NAME).dst to prevent a test install build from accidentally overwriting valid and needed data in the ultimate install path.
Typically this path is not set per target, but is provided as an option on the command line when performing an xcodebuild install. It may also be set in a build configuration in special circumstances.Apple 页面DSYMUTIL_EMBED_RESOURCES
A list of resources to embed into the dSYM bundle. Each entry has the form ‘=’ where the source path is a file or directory on disk and the destination path is relative to the bundle’s Contents/Resources directory.Apple 页面Other DTrace Flags
Space-separated list of additional flags to pass to the dtrace compiler. Be sure to backslash-escape any arguments that contain spaces or special characters, such as path names that may contain spaces. Use this setting if Xcode does not already provide UI for a particular dtrace flag.Apple 页面Compatibility Version
Determines the compatibility version of the resulting library, bundle, or framework binary. See Dynamic Library Design Guidelines in Dynamic Library Programming Topics for details on assigning version numbers of dynamic libraries.Apple 页面Current Library Version
This setting defines the current version of any framework built by the project. As with CURRENT_PROJECT_VERSION, the value must be an integer or floating point number, such as 57 or 365.8. See Dynamic Library Design Guidelines in Dynamic Library Programming Topics for details on assigning version numbers of dynamic libraries.Apple 页面Dynamic Library Install Name Base
Sets the base value for the internal install path (LC_ID_DYLIB) in a dynamic library. This will be combined with the EXECUTABLE_PATH to form the full install path. Setting LD_DYLIB_INSTALL_NAME directly will override this setting. This setting defaults to the target’s INSTALL_PATH. It is ignored when building any product other than a dynamic library.Apple 页面Eager Linking
NOIf enabled, the build system will emit a TBD file for Swift-only framework and dynamic library targets to unblock linking of dependent targets before their dependency has finished linking.Apple 页面Embed Asset Packs In Product Bundle
NOEmbed all the built asset packs inside the product bundle. Since this negates the performance benefits of the On Demand Resources feature, it is only useful for testing purposes when it isn’t practical to use an asset pack server.Apple 页面Enable App Sandbox
NOWhen set, enables App Sandbox for a target.Apple 页面Enable Code Coverage Support
YESEnables building with code coverage instrumentation. This is only used when the build has code coverage enabled, which is typically done via the Xcode scheme or test plan settings.Apple 页面Enforce Bounds-Safe Buffer Usage in C++
NOEnables a strict programming model that guarantees bounds safety in C++ by rejecting raw pointer arithmetic (enabling the -Wunsafe-buffer-usage warning as an error) and requiring the use of hardened C++ Standard Library APIs for buffer manipulation.Apple 页面Enable Language Extension for Bounds Safety in C
NOEnables the -fbounds-safety language extension, which guarantees bounds safety for C.Apple 页面Enable Debug Dylib Support
If enabled, debug builds of app and app extension targets on supported platforms and SDKs will be built with the main binary code in a separate “NAME.debug.dylib”. A stub executor that loads the dylib will be the main binary. Enabling this setting is required for the previews execution engine and other modern development features to work. You can disable this setting if your target is not compatible.Apple 页面Enable Enhanced Security
NOEnables a set of security build settings, including pointer authentication, typed allocator support, hardened C++ standard library, and security-related compiler warnings. These settings can be disabled individually.Apple 页面Enable Downloads Folder
readonly · readwriteThis setting indicates whether App Sandbox allows access to files in the user’s downloads directory.Apple 页面Enable Movies Folder
readonly · readwriteThis setting indicates whether App Sandbox allows access to files in the user’s movies directory.Apple 页面Enable Music Folder
readonly · readwriteThis setting indicates whether App Sandbox allows access to files in the user’s music directory.Apple 页面Enable Pictures Folder
readonly · readwriteThis setting indicates whether App Sandbox allows access to files in the user’s pictures directory.Apple 页面Enable Hardened Runtime
NOEnable hardened runtime restrictions.Apple 页面Enable Hardware-Checked Pointer Arithmetic Slice
NOBuilds the target with hardware-checked pointer arithmetic enabled. Adds an additional architectural slice (arm64e.x1) with hardware-checked pointer arithmetic instructions to ARCHS_STANDARD. Has no effect if ARCHS has been overridden to not be based on ARCHS_STANDARD.Apple 页面ENABLE_HEADER_DEPENDENCIES
YESSpecifies whether to automatically track dependencies on included header files.Apple 页面Incoming Connections (Server)
NOWhen set, enables incoming network connections.Apple 页面Enable Incremental Distill
NOEnabled the incremental distill option in the asset catalog compiler. This feature is experimental and should only be enabled with caution.Apple 页面Enable Module Verifier
$(CLANG_MODULES_ENABLE_VERIFIER_TOOL)Enables clang module verification for frameworks.Apple 页面Enable Foundation Assertions
YESControls whether assertion logic provided by NSAssert is included in the preprocessed source code or is elided during preprocessing. Disabling assertions can improve code performance.Apple 页面Build Active Resources Only
YESOmit inapplicable resources when building for a single device. For example, when building for a device with a Retina display, exclude 1x resources.Apple 页面Enable On Demand Resources
NOIf enabled, tagged assets—files and asset catalog entries—are built into asset packs based on their combination of tags. Untagged resources are treated normally.Apple 页面Outgoing Connections (Client)
NOWhen set, enables outgoing network connections.Apple 页面Enable Pointer Authentication
$(ENABLE_ENHANCED_SECURITY)Builds the target with pointer authentication enabled. Adds an additional architectural slice (arm64e) with pointer authentication instructions to ARCHS_STANDARD. Has no effect if ARCHS has been overridden to not be based on ARCHS_STANDARDApple 页面Audio Input
NOWhen set, enables capture of audio with the built-in and external microphones.Apple 页面Bluetooth
NOWhen set, enables communication with connected Bluetooth devices.Apple 页面Calendar
NOWhen set, enables read-write access to the user’s calendar.Apple 页面Camera
NOWhen set, enables capture of images and movies with the built-in and external cameras.Apple 页面Contacts
NOWhen set, enables read-write access to the user’s Contacts database.Apple 页面Location
NOWhen set, enables access to determine the user’s location using Location Services.Apple 页面Photos Library
NOA Boolean value that indicates whether the app has read-write access to the user’s Photos library.Apple 页面Printing
NOWhen set, enables access to print documents and media using the system’s configured printers.Apple 页面USB
NOWhen set, enables communication with connected USB devices.Apple 页面Enable Security-Relevant Compiler Warnings
$(ENABLE_ENHANCED_SECURITY)Enables a set of security-relevant compiler warnings that check for common bounds-safety and lifetime-safety issues.Apple 页面Enable Strict Checking of objc_msgSend Calls
NOControls whether objc_msgSend calls must be cast to the appropriate function pointer type before being called.Apple 页面Enable Testability
NOEnabling this setting will build the target with options appropriate for running automated tests against its product.
This setting can be enabled when building targets for debugging if their products will be tested. This may result in tests running slower than otherwise.
When this setting is enabled:
• GCC_SYMBOLS_PRIVATE_EXTERN is disabled (-fvisibility=hidden will not be passed to clang).
• -enable-testing is passed to the Swift compiler.
• -rdynamic is passed to the linker.
• STRIP_INSTALLED_PRODUCT is disabled (strip will not be run on the produced binary).Apple 页面Enable Testing Search Paths
NOSpecifies whether the build system should add the search paths necessary for compiling and linking against testing-related libraries or frameworks. This setting is enabled by default if the target is a test target or if the target explicitly links to the Testing, XCTest, or StoreKitTest frameworks.Apple 页面User Script Sandboxing
NOIf enabled, the build system will sandbox user scripts to disallow undeclared input/output dependencies.Apple 页面Enable User Selected Files
readonly · readwriteThis setting indicates whether App Sandbox allows access to files the user selects with an Open or Save dialog.Apple 页面Excluded Architectures
A list of architectures for which the target should not be built. These architectures will be removed from the list in ARCHS when the target is built. If the resulting list of architectures is empty, no binary will be produced. This can be used to declare architectures a target does not support for use in environments where ARCHS is being overridden at a higher level (e.g., via xcodebuild).Apple 页面Excluded Explicit Target Dependencies
A list of patterns (as defined by fnmatch(3)) specifying the names of explicit target dependencies to exclude when determining which targets to build (see also INCLUDED_EXPLICIT_TARGET_DEPENDENCIES). This setting can be used to define complex filters for which targets should be built in response to other build settings.Apple 页面Sub-Directories to Exclude in Recursive Searches
*.nib *.lproj *.framework *.gch *.xcode* *.xcassets *.icon (*) .DS_Store CVS .svn .git .hg *.pbproj *.pbxprojThis is a list of fnmatch()-style patterns of file or directory names to exclude when performing a recursive search. By default, this is set to *.nib *.lproj *.framework *.gch *.xcode* *.xcassets *.icon (*) .DS_Store CVS .svn .git .hg *.pbproj *.pbxproj. Normally, if you override this value you should include the default values via the $(inherited) macro.Apple 页面Excluded Source File Names
A list of patterns (as defined by fnmatch(3)) specifying the names of source files to explicitly exclude when processing the files in the target’s build phases (see also INCLUDED_SOURCE_FILE_NAMES). This setting can be used to define complex filters for which files from the phase should be built in response to other build settings; for example, a value of *.$(CURRENT_ARCH).c could serve to exclude particular files based on the architecture being built.Apple 页面EXECUTABLES_FOLDER_PATH
Identifies the directory that contains additional binary files.Apple 页面Executable Extension
This is the extension used for the executable product generated by the target, which has a default value based on the product type.Apple 页面EXECUTABLE_FOLDER_PATH
Identifies the directory that contains the binary the target builds.Apple 页面EXECUTABLE_NAME
Specifies the name of the binary the target produces.
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the CFBundleExecutable key in the Info.plist file to the value of this build setting.Apple 页面EXECUTABLE_PATH
Specifies the path to the binary the target produces within its bundle.Apple 页面Executable Prefix
The prefix used for the executable product generated by the target, which has a default value based on the product type.Apple 页面EXECUTABLE_SUFFIX
Specifies the suffix of the binary filename, including the character that separates the extension from the rest of the bundle name.Apple 页面Exported Symbols File
This is a project-relative path to a file that lists the symbols to export. See ld -exported_symbols_list for details on exporting symbols.Apple 页面FRAMEWORKS_FOLDER_PATH
Specifies the directory that contains the product’s embedded frameworks.Apple 页面Framework Search Paths
$(FRAMEWORK_SEARCH_PATHS)This is a list of paths to folders containing frameworks to be searched by the compiler for both included or imported header files when compiling C, Objective-C, C++, or Objective-C++, and by the linker for frameworks used by the product. Paths are delimited by whitespace, so any paths with spaces in them must be properly quoted.Apple 页面Framework Version
AFramework bundles are versioned by having contents in subfolders of a version folder that has links to the current version and its contents.Apple 页面Run Build Script Phases in Parallel
NOIf enabled, consecutive run script phases will be allowed to run in parallel if they fully specify their input and output dependencies.Apple 页面‘char’ Type Is Unsigned
NOEnabling this setting causes char to be unsigned by default, disabling it causes char to be signed by default.Apple 页面CodeWarrior/MS-Style Inline Assembly
YESEnable the CodeWarrior/Microsoft syntax for inline assembly code in addition to the standard GCC syntax.Apple 页面C Language Dialect
ansi · c11 · c17 · c23 · c89 · c99 · compiler-default · gnu11 · gnu17 · gnu23 · gnu89 · gnu99compiler-defaultChoose a standard or non-standard C language dialect.
• ANSI C: Accept ISO C90 and ISO C++, turning off GNU extensions that are incompatible. [-ansi] Incompatible GNU extensions include the asm, inline, and typeof keywords (but not the equivalent __asm__, __inline__, and __typeof__ forms), and the // syntax for comments. This setting also enables trigraphs.
• C89: Accept ISO C90 (1990), but not GNU extensions. [-std=c89]
• GNU89: Accept ISO C90 and GNU extensions. [-std=gnu89]
• C99: Accept ISO C99 (1999), but not GNU extensions. [-std=c99]
• GNU99: Accept ISO C99 and GNU extensions. [-std=gnu99]
• C11: Accept ISO C11 (2011), but not GNU extensions. [-std=c11]
• GNU11: Accept ISO C11 and GNU extensions. [-std=gnu11]
• C17: Accept ISO C17 (2018), but not GNU extensions. [-std=c17]
• GNU17: Accept ISO C17 and GNU extensions. [-std=gnu17]
• C23: Accept ISO C23 (2024), but not GNU extensions. [-std=c23]
• GNU23: Accept ISO C23 and GNU extensions. [-std=gnu23]
• Compiler Default: Tells the compiler to use its default C language dialect. This is normally the best choice unless you have specific needs. (Currently equivalent to GNU99.)Apple 页面Generate Position-Dependent Code
NOFaster function calls for applications. Not appropriate for shared libraries, which need to be position-independent.Apple 页面Allow ‘asm’, ‘inline’, ‘typeof’
YESControls whether asm, inline, and typeof are treated as keywords or whether they can be used as identifiers.Apple 页面Recognize Builtin Functions
YESControls whether builtin functions that do not begin with __builtin_ as prefix are recognized.
GCC normally generates special code to handle certain builtin functions more efficiently; for instance, calls to alloca may become single instructions that adjust the stack directly, and calls to memcpy may become inline copy loops. The resulting code is often both smaller and faster, but since the function calls no longer appear as such, you cannot set a breakpoint on those calls, nor can you change the behavior of the functions by linking with a different library. In addition, when a function is recognized as a builtin function, GCC may use information about that function to warn about problems with calls to that function, or to generate more efficient code, even if the resulting code still contains calls to that function. For example, warnings are given with -Wformat for bad calls to printf, when printf is built in, and strlen is known not to modify global memory.Apple 页面Enable C++ Exceptions
YESEnable C++ exception handling. Generates extra code needed to propagate exceptions. For some targets, this implies GCC will generate frame unwind information for all functions, which can produce significant data size overhead, although it does not affect execution. If you do not specify this option, GCC will enable it by default for languages like C++ that normally require exception handling, and disable it for languages like C that do not normally require it. However, you may need to enable this option when compiling C code that needs to interoperate properly with exception handlers written in C++.Apple 页面Enable C++ Runtime Types
YESEnable generation of information about every class with virtual functions for use by the C++ runtime type identification features (dynamic_cast and typeid). If you don’t use those parts of the language, you can save some space by using this flag. Note that exception handling uses the same information, but it will generate it as needed.Apple 页面Enable Exceptions
Enable exception handling. Generates extra code needed to propagate exceptions. For some targets, this implies GCC will generate frame unwind information for all functions, which can produce significant data size overhead, although it does not affect execution. If you do not specify this option, GCC will enable it by default for languages like C++ and Objective-C that normally require exception handling, and disable it for languages like C that do not normally require it. However, you may need to enable this option when compiling C code that needs to interoperate properly with exception handlers written in other languages. You may also wish to disable this option if you are compiling older programs that don’t use exception handling.Apple 页面Generate Floating Point Library Calls
NOGenerate output containing library calls for floating point.Apple 页面Kernel Development Mode
NOActivating this setting enables kernel development mode.Apple 页面Enable Objective-C Exceptions
YESThis setting enables @try/@catch/@throw syntax for handling exceptions in Objective-C code. Only applies to Objective-C. [-fobjc-exceptions]Apple 页面Recognize Pascal Strings
YESRecognize and construct Pascal-style string literals. Its use in new code is discouraged.
Pascal string literals take the form "\pstring" . The special escape sequence \p denotes the Pascal length byte for the string, and will be replaced at compile time with the number of characters that follow. The \p may only appear at the beginning of a string literal, and may not appear in wide string literals or as an integral constant.Apple 页面Enable SSE3 Extensions
NOSpecifies whether the binary uses the builtin functions that provide access to the SSE3 extensions to the IA-32 architecture.Apple 页面Enable SSE4.1 Extensions
NOSpecifies whether the binary uses the builtin functions that provide access to the SSE4.1 extensions to the IA-32 architecture.Apple 页面Enable SSE4.2 Extensions
NOSpecifies whether the binary uses the builtin functions that provide access to the SSE4.2 extensions to the IA-32 architecture.Apple 页面Enable Trigraphs
NOControls whether or not trigraphs are permitted in the source code.Apple 页面Relax IEEE Compliance
NOEnables some floating point optimizations that are not IEEE754-compliant, but which usually work. Programs that require strict IEEE compliance may not work with this option.Apple 页面Generate Debug Symbols
YESEnables or disables generation of debug symbols. When debug symbols are enabled, the level of detail can be controlled by the DEBUG_INFORMATION_FORMAT setting.Apple 页面Generate Legacy Test Coverage Files
NOActivating this setting causes a notes file to be produced that the gcov code-coverage utility can use to show program coverage.Apple 页面Increase Sharing of Precompiled Headers
NOEnabling this option will enable increased sharing of precompiled headers among targets that share the same prefix header and precompiled header directory.
Xcode distinguishes between precompiled header (PCH) files by generating a hash value based on the command-line options to the compiler used to create the PCH. Enabling this option will exclude certain compiler options from that hash. Presently this option will exclude search path options (-I, -iquote, -isystem, -F, -L) from the hash.
Enabling increased sharing of PCH files carries some risk—if two targets use the same prefix header but have different include paths that cause the prefix header to include different files when they are precompiled, then subtle problems may result because one target will use a PCH that was built using files included by the other target. In this case, this option must be turned off in order to enforce correctness.Apple 页面Inline Methods Hidden
NOWhen enabled, out-of-line copies of inline methods are declared private extern.Apple 页面Compile Sources As
automatic · sourcecode.c.c · sourcecode.c.objc · sourcecode.cpp.cpp · sourcecode.cpp.objcppautomaticSpecifies whether to compile each source file according to its file type, or whether to treat all source files in the target as if they are of a specific language.Apple 页面Instrument Program Flow
NOActivating this setting indicates that code should be added so program flow arcs are instrumented.Apple 页面Enable Linking With Shared Libraries
YESEnabling this option allows linking with the shared libraries. This is the default for most product types.Apple 页面No Common Blocks
NOIn C, allocate even uninitialized global variables in the data section of the object file, rather than generating them as common blocks. This has the effect that if the same variable is declared (without extern) in two different compilations, you will get an error when you link them.Apple 页面Optimization Level
0 · 1 · 2 · 3 · fast · s · zsSpecifies the degree to which the generated code is optimized for speed and binary size.
• None: Do not optimize. [-O0] With this setting, the compiler’s goal is to reduce the cost of compilation and to make debugging produce the expected results. Statements are independent—if you stop the program with a breakpoint between statements, you can then assign a new value to any variable or change the program counter to any other statement in the function and get exactly the results you would expect from the source code.
• Fast: Optimizing compilation takes somewhat more time, and a lot more memory for a large function. [-O1] With this setting, the compiler tries to reduce code size and execution time, without performing any optimizations that take a great deal of compilation time. In Apple’s compiler, strict aliasing, block reordering, and inter-block scheduling are disabled by default when optimizing.
• Faster: The compiler performs nearly all supported optimizations that do not involve a space-speed tradeoff. [-O2] With this setting, the compiler does not perform loop unrolling or function inlining, or register renaming. As compared to the Fast setting, this setting increases both compilation time and the performance of the generated code.
• Fastest: Turns on all optimizations specified by the Faster setting and also turns on function inlining and register renaming options. This setting may result in a larger binary. [-O3]
• Fastest, Smallest: Optimize for size. This setting enables all Faster optimizations that do not typically increase code size. It also performs further optimizations designed to reduce code size. [-Os]
• Fastest, Aggressive Optimizations: This setting enables Fastest but also enables aggressive optimizations that may break strict standards compliance but should work well on well-behaved code. [-Ofast]
• Smallest, Aggressive Size Optimizations: This setting enables additional size savings by isolating repetitive code patterns into a compiler generated function. [-Oz]Apple 页面Precompile Prefix Header
Generates a precompiled header for the prefix header, which should reduce overall build times.
Precompiling the prefix header will be most effective if the contents of the prefix header or any file it includes change rarely. If the contents of the prefix header or any file it includes change frequently, there may be a negative impact to overall build time.Apple 页面Prefix Header
$(PREFIX_HEADER)Implicitly include the named header. The path given should either be a project relative path or an absolute path.Apple 页面Preprocessor Macros
Space-separated list of preprocessor macros of the form foo or foo=bar.Apple 页面Preprocessor Macros Not Used In Precompiled Headers
Space-separated list of preprocessor macros of the form foo or foo=bar. These macros are not used when precompiling a prefix header file.Apple 页面Make Strings Read-Only
YESReuse string literals.Apple 页面Short Enumeration Constants
NOMake enums only as large as needed for the range of possible values.
This setting generates code that may not be binary compatible with code generated without this setting or with macOS frameworks.Apple 页面Enforce Strict Aliasing
YESOptimize code by making more aggressive assumptions about whether pointers can point to the same objects as other pointers. Programs that use pointers a lot may benefit from this, but programs that don’t strictly follow the ISO C rules about the type with which an object may be accessed may behave unexpectedly.Apple 页面Symbols Hidden by Default
NOWhen enabled, all symbols are declared private extern unless explicitly marked to be exported using __attribute__((visibility("default"))) in code. If not enabled, all symbols are exported unless explicitly marked as private extern. See Controlling Symbol Visibility in C++ Runtime Environment Programming Guide.Apple 页面Statics are Thread-Safe
YESEmits extra code to use the routines specified in the C++ ABI for thread-safe initialization of local statics. You can disable this option to reduce code size slightly in code that doesn’t need to be thread-safe.Apple 页面Treat Missing Function Prototypes as Errors
NOCauses warnings about missing function prototypes to be treated as errors. Only applies to C and Objective-C.Apple 页面Treat Incompatible Pointer Type Warnings as Errors
NOEnabling this option causes warnings about incompatible pointer types to be treated as errors.Apple 页面Treat Warnings as Errors
NOEnabling this option causes all warnings to be treated as errors.Apple 页面Unroll Loops
NOUnrolls loops. Unrolling makes the code larger, but may make it faster by reducing the number of branches executed.Apple 页面Use Standard System Header Directory Searching
YESControls whether the standard system directories are searched for header files. When disabled, only the directories you have specified with -I options (and the directory of the current file, if appropriate) are searched.Apple 页面Compiler for C/C++/Objective-C
The compiler to use for C, C++, and Objective-C.Apple 页面Implicit Conversion to 32 Bit Type
NO · YES · YES_ERRORNOWarn if a value is implicitly converted from a 64-bit type to a 32-bit type. This is a subset of the warnings provided by -Wconversion.Apple 页面Deprecated Functions
YESWarn about the use of deprecated functions, variables, and types (as indicated by the deprecated attribute).Apple 页面Undefined Use of offsetof Macro
YESUnchecking this setting will suppress warnings from applying the offsetof macro to a non-POD type. According to the 1998 ISO C++ standard, applying offsetof to a non-POD type is undefined. In existing C++ implementations, however, offsetof typically gives meaningful results even when applied to certain kinds of non-POD types, such as a simple struct that fails to be a POD type only by virtue of having a constructor. This flag is for users who are aware that they are writing non-portable code and who have deliberately chosen to ignore the warning about it.
The restrictions on offsetof may be relaxed in a future version of the C++ standard.Apple 页面Missing Fields in Structure Initializers
NOWarn if a structure’s initializer has some fields missing. For example, the following code would cause such a warning because x.h is implicitly zero:
struct s { int f, g, h; };
struct s x = { 3, 4 };
This option does not warn about designated initializers, so the following modification would not trigger a warning:
struct s { int f, g, h; };
struct s x = { .f = 3, .g = 4 };Apple 页面Missing Newline At End Of File
NOWarn when a source file does not end with a newline.Apple 页面Missing Function Prototypes
NOCauses warnings to be emitted about missing prototypes.Apple 页面Pointer Sign Comparison
YESWarn when pointers passed via arguments or assigned to a variable differ in sign.Apple 页面Mismatched Return Type
NO · YES · YES_ERRORNOCauses warnings to be emitted when a function with a defined return type (not void) contains a return statement without a return-value or when it does not contain any return statements. Also emits a warning when a function with a void return type tries to return a value.Apple 页面Incomplete Objective-C Protocols
YESWarn if methods required by a protocol are not implemented in the class adopting it. Only applies to Objective-C.Apple 页面Check Switch Statements
YESWarn whenever a switch statement has an index of enumeral type and lacks a case for one or more of the named codes of that enumeration. The presence of a default label prevents this warning. Case labels outside the enumeration range also provoke warnings when this option is used.Apple 页面Four Character Literals
NOWarn about four-char literals (for example, macOS-style OSTypes: 'APPL').Apple 页面Overloaded Virtual Functions
NOWarn when a function declaration hides virtual functions from a base class.
For example, in the following example, the A class version of f() is hidden in B.
struct A {
virtual void f();
};
struct B: public A {
void f(int);
};
As a result, the following code will fail to compile.
B* b;
b->f();
This setting only applies to C++ and Objective-C++ sources.Apple 页面Inhibit All Warnings
$(SUPPRESS_WARNINGS)Inhibit all warning messages.Apple 页面Initializer Not Fully Bracketed
NOWarn if an aggregate or union initializer is not fully bracketed. In the following example, the initializer for a is not fully bracketed, but the initializer for b is fully bracketed.
int a[2][2] = { 0, 1, 2, 3 };
int b[2][2] = { { 0, 1 }, { 2, 3 } };Apple 页面Missing Braces and Parentheses
YESWarn if parentheses are omitted in certain contexts, such as when there is an assignment in a context where a truth value is expected, or when operators are nested whose precedence causes confusion. Also, warn about constructions where there may be confusion as to which if statement an else branch belongs. For example:
{
if (a)
if (b)
foo ();
else
bar ();
}
In C, every else branch belongs to the innermost possible if statement, which in the example above is if (b). This is often not what the programmer expects, as illustrated by indentation used in the example above. This build setting causes GCC to issue a warning when there is the potential for this confusion. To eliminate the warning, add explicit braces around the innermost if statement so there is no way the else could belong to the enclosing if. For example:
{
if (a)
{
if (b)
foo ();
else
bar ();
}
}Apple 页面Nonvirtual Destructor
NOWarn when a class declares an nonvirtual destructor that should probably be virtual, because it looks like the class will be used polymorphically. This is only active for C++ or Objective-C++ sources.Apple 页面Pedantic Warnings
NOIssue all the warnings demanded by strict ISO C and ISO C++; reject all programs that use forbidden extensions, and some other programs that do not follow ISO C and ISO C++. For ISO C, follows the version of the ISO C standard specified by any -std option used.Apple 页面Hidden Local Variables
$(CLANG_ENABLE_SECURITY_COMPILER_WARNINGS)Warn whenever a local variable shadows another local variable, parameter or global variable or whenever a builtin function is shadowed.Apple 页面Sign Comparison
NOWarn when a comparison between signed and unsigned values could produce an incorrect result when the signed value is converted to unsigned.Apple 页面Strict Selector Matching
NOWarn if multiple methods with differing argument and/or return types are found for a given selector when attempting to send a message using this selector to a receiver of type id or Class. When this setting is disabled, the compiler will omit such warnings if any differences found are confined to types that share the same size and alignment.Apple 页面Typecheck Calls to printf/scanf
YESCheck calls to printf and scanf to make sure that the arguments supplied have types appropriate to the format string specified, and that the conversions specified in the format string make sense.Apple 页面Undeclared Selector
NOWarn if a @selector(...) expression referring to an undeclared selector is found. A selector is considered undeclared if no method with that name has been declared before the @selector(...) expression, either explicitly in an @interface or @protocol declaration, or implicitly in an @implementation section. This option always performs its checks as soon as a @selector(...) expression is found, while -Wselector only performs its checks in the final stage of compilation. This also enforces the coding style convention that methods and selectors must be declared before being used.Apple 页面Uninitialized Variables
NO · YES · YES_AGGRESSIVENOWarn if a variable might be clobbered by a setjmp call or if an automatic variable is used without prior initialization.
The compiler may not detect all cases where an automatic variable is initialized or all usage patterns that may lead to use prior to initialization. You can toggle between the normal uninitialized value checking or the more aggressive (conservative) checking, which finds more issues but the checking is much stricter.Apple 页面Unknown Pragma
NOWarn when a #pragma directive is encountered that is not understood by GCC. If this command line option is used, warnings will even be issued for unknown pragmas in system header files. This is not the case if the warnings were only enabled by the -Wall command-line option.Apple 页面Unused Functions
NOWarn whenever a static function is declared but not defined or a non-inline static function is unused.Apple 页面Unused Labels
NOWarn whenever a label is declared but not used.Apple 页面Unused Parameters
NOWarn whenever a function parameter is unused aside from its declaration.Apple 页面Unused Values
YESWarn whenever a statement computes a result that is explicitly not used.Apple 页面Unused Variables
NOWarn whenever a local variable or nonconstant static variable is unused aside from its declaration.Apple 页面Generate Info.plist File
NOAutomatically generate an Info.plist file.Apple 页面Enable Intermediate Text-Based Stubs Generation
YESEnables the generation of intermediate Text-Based stubs for dynamic libraries and frameworks to more precisely track linker dependencies in incremental builds.Apple 页面Force Package Info Generation
NOForces the PkgInfo file to be written to wrapped products even if this file is not expected.Apple 页面Perform Single-Object Prelink
$(GENERATE_MASTER_OBJECT_FILE:default=NO)Activating this setting will cause the object files built by a target to be prelinked using ld -r into a single object file, and that object file will then be linked into the final product. This is useful to force the linker to resolve symbols and link the object files into a single module before building a static library. Also, a separate set of link flags can be applied to the prelink allowing additional control over, for instance, exported symbols.Apple 页面Generate Profiling Code
NOActivating this setting will cause the compiler and linker to generate profiling code. For example, GCC will generate code suitable for use with gprof(1).Apple 页面Enable Text-Based Stubs Generation
NOEnables the generation of Text-Based stubs for dynamic libraries and frameworks.Apple 页面HEADERMAP_INCLUDES_FLAT_ENTRIES_FOR_TARGET_BEING_BUILT
YESSpecifies whether the header map contains a name/path entry for every header in the target being built.Apple 页面HEADERMAP_INCLUDES_FRAMEWORK_ENTRIES_FOR_ALL_PRODUCT_TYPES
YESSpecifies 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.Apple 页面HEADERMAP_INCLUDES_PROJECT_HEADERS
YESSpecifies whether the header map contains a name/path entry for every header in the project, regardless of the headers’ target membership.Apple 页面Header Search Paths
This is a list of paths to folders to be searched by the compiler for included or imported header files when compiling C, Objective-C, C++, or Objective-C++. Paths are delimited by whitespace, so any paths with spaces in them need to be properly quoted.Apple 页面Compiler Mode for CocoaTouch Documents
default · simulator · toolchaindefaultInstructs the compiler on which compilation mode to use.Apple 页面Auto-Activate Custom Fonts
YESInstructs the XIB compiler to add custom fonts to the application’s Info.plist, which will cause the fonts to activate upon application launch.Apple 页面Show Errors
YESShow errors encountered during the compilation of XIB files.Apple 页面Flatten Compiled XIB Files
YESIf enabled, compile XIB files into flattened (non-wrapper) NIB files. After flattening, the resulting NIB is more compact but no longer editable by Interface Builder. When this option is disabled, the resulting NIB file remains editable in Interface Builder.Apple 页面Default Module
$(PRODUCT_MODULE_NAME)Defines the module name for Swift classes referenced without a specific module name.Apple 页面Show Notices
YESShow notices encountered during the compilation of XIB files.Apple 页面Other Interface Builder Compiler Flags
A list of additional flags to pass to the Interface Builder Compiler. Use this setting if Xcode does not already provide UI for a particular Interface Builder Compiler flag.Apple 页面Overriding Plug-In and Framework Directory
Instructs Interface Builder to load frameworks and Interface Builder plugins from the specified directory. Setting this value to $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) will ensure that Interface Builder will load frameworks and plug-ins from the built products directory of the current build configuration.Apple 页面Plug-Ins
A list of paths to Interface Builder plugins to load when compiling XIB files.Apple 页面Plug-In Search Paths
A list of paths to be searched for Interface Builder plug-ins to load when compiling XIB files.Apple 页面Strip NIB Files
$(IBC_FLATTEN_NIBS)Strips an Interface Builder NIB to reduce its size for deployment. The resulting NIB is more compact but no longer editable by Interface Builder. When this option is disabled, the resulting NIB file remains editable by Interface Builder.Apple 页面Show Warnings
YESShow warnings encountered during the compilation of XIB files.Apple 页面Compiler Mode for CocoaTouch Documents
default · simulator · toolchain$(IBC_COCOATOUCH_COMPILER_MODE)Instructs the compiler on which compilation mode to use.Apple 页面Auto-Activate Custom Fonts
YESInstructs the Storyboard compiler to add custom fonts to the application’s Info.plist that will cause the fonts to activate upon application launch.Apple 页面Show Errors
YESShow errors encountered during the compilation of Storyboard files.Apple 页面Flatten Compiled Storyboard Files
YESCompiles a Storyboard file into flattened (non-wrapper) Storyboard file. After flattening, the resulting Storyboard is more compact but no longer editable by Interface Builder. When this option is disabled, the resulting Storyboard file remains editable in Interface Builder.Apple 页面Default Module
$(PRODUCT_MODULE_NAME)Defines the module name for Swift classes referenced without a specific module name.Apple 页面Show Notices
YESShow notices encountered during the compilation of Storyboard files.Apple 页面Other Storyboard Compiler Flags
A list of additional flags to pass to the Interface Builder Compiler. Use this setting if Xcode does not already provide UI for a particular Interface Builder Compiler flag.Apple 页面Strip Storyboardc Files
$(IBSC_FLATTEN_NIBS)Strips an editable Interface Builder storyboardc file to reduce its size for deployment. The resulting storyboardc is more compact but no longer editable by Interface Builder. When this option is disabled, the resulting storyboardc file remains editable by Interface Builder.Apple 页面Show Warnings
YESShow warnings encountered during the compilation of Storyboard files.Apple 页面Implicit Dependency Domain
defaultThe domain in which the target will match or be matched for implicit dependencies. An implicit dependency will only be established between two targets if they are both in the same domain.Apple 页面Included Explicit Target Dependencies
A list of patterns (as defined by fnmatch(3)) specifying the names of explicit target dependencies to include when determining which targets to build. This setting is only useful when combined with EXCLUDED_EXPLICIT_TARGET_DEPENDENCIES, and can be used to define complex filters for which targets should be built in response to other build settings.Apple 页面Sub-Directories to Include in Recursive Searches
This is a list of fnmatch()-style patterns of file or directory names to include when performing a recursive search. By default, this is empty and is only customized when you want to provide exceptions to the list of filename patterns provided in EXCLUDED_RECURSIVE_SEARCH_PATH_SUBDIRECTORIES.Apple 页面Included Source File Names
A list of patterns (as defined by fnmatch(3)) specifying the names of source files to explicitly include when processing the files in the target’s build phases. This setting is only useful when combined with EXCLUDED_SOURCE_FILE_NAMES, and can be used to define complex filters for which files from the phase should be built in response to other build settings.Apple 页面Compress Index Store
NOCompress the index store, reducing its size on disk.Apple 页面Index only project files
NOOnly index the source files that are being compiled within this project. Do not emit data into the index store for system modules.Apple 页面Expand Build Settings in Info.plist File
YESExpand build settings in the Info.plist file.Apple 页面Info.plist File
The project-relative path to the property list file that contains the Info.plist information used by bundles.
The build system merges the values you specify in this file with other values it generates during the build process. The product type, target platform, App Privacy manifests, input from other build tools, and other built-in logic impact the contents of the final Info.plist file it produces. When GENERATE_INFOPLIST_FILE is enabled, the build system also includes content from build settings in the merge process.
For details on information property list files, see Information Property List.Apple 页面Bundle Display Name
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the CFBundleDisplayName key in the Info.plist file to the value of this build setting.Apple 页面Complication Principal Class
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the CLKComplicationPrincipalClass key in the Info.plist file to the value of this build setting.Apple 页面Supports Game Controller User Interaction
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the GCSupportsControllerUserInteraction key in the Info.plist file to the value of this build setting.Apple 页面Supports Game Mode
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the GCSupportsGameMode key in the Info.plist file to the value of this build setting.Apple 页面App Uses Non-Exempt Encryption
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the ITSAppUsesNonExemptEncryption key in the Info.plist file to the value of this build setting.Apple 页面App Encryption Export Compliance Code
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the ITSEncryptionExportComplianceCode key in the Info.plist file to the value of this build setting.Apple 页面Application Category
public.app-category.action-games · public.app-category.adventure-games · public.app-category.arcade-games · public.app-category.board-games · public.app-category.books · public.app-category.business · public.app-category.card-games · public.app-category.casino-games · public.app-category.developer-tools · public.app-category.dice-games · public.app-category.education · public.app-category.educational-games · public.app-category.entertainment · public.app-category.family-games · public.app-category.finance · public.app-category.food-and-drink · public.app-category.games · public.app-category.graphics-design · public.app-category.healthcare-fitness · public.app-category.kids-games · public.app-category.lifestyle · public.app-category.magazines-and-newspapers · public.app-category.medical · public.app-category.music · public.app-category.music-games · public.app-category.navigation · public.app-category.news · public.app-category.photography · public.app-category.productivity · public.app-category.puzzle-games · public.app-category.racing-games · public.app-category.reference · public.app-category.role-playing-games · public.app-category.shopping · public.app-category.simulation-games · public.app-category.social-networking · public.app-category.sports · public.app-category.sports-games · public.app-category.strategy-games · public.app-category.travel · public.app-category.trivia-games · public.app-category.utilities · public.app-category.video · public.app-category.weather · public.app-category.word-gamesWhen GENERATE_INFOPLIST_FILE is enabled, sets the value of the LSApplicationCategoryType key in the Info.plist file to the value of this build setting.Apple 页面Application is Background Only
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the LSBackgroundOnly key in the Info.plist file to the value of this build setting.Apple 页面Supports Opening Documents in Place
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the LSSupportsOpeningDocumentsInPlace key in the Info.plist file to the value of this build setting.Apple 页面Application is Agent (UIElement)
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the LSUIElement key in the Info.plist file to the value of this build setting.Apple 页面Metal Capture Enabled
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the MetalCaptureEnabled key in the Info.plist file to the value of this build setting.Apple 页面Privacy - NFC Scan Usage Description
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the NFCReaderUsageDescription key in the Info.plist file to the value of this build setting.Apple 页面Privacy - Accessory Tracking Usage Description
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the NSAccessoryTrackingUsageDescription key in the Info.plist file to the value of this build setting.Apple 页面Privacy - Other Application Data Usage Description
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the NSAppDataUsageDescription key in the Info.plist file to the value of this build setting.Apple 页面Privacy - AppleEvents Sending Usage Description
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the NSAppleEventsUsageDescription key in the Info.plist file to the value of this build setting.Apple 页面Privacy - Media Library Usage Description
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the NSAppleMusicUsageDescription key in the Info.plist file to the value of this build setting.Apple 页面Privacy - Bluetooth Always Usage Description
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the NSBluetoothAlwaysUsageDescription key in the Info.plist file to the value of this build setting.Apple 页面Privacy - Bluetooth Peripheral Usage Description
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the NSBluetoothPeripheralUsageDescription key in the Info.plist file to the value of this build setting.Apple 页面Privacy - Bluetooth While In Use Usage Description
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the NSBluetoothWhileInUseUsageDescription key in the Info.plist file to the value of this build setting.Apple 页面Privacy - Calendars Full Access Usage Description
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the NSCalendarsFullAccessUsageDescription key in the Info.plist file to the value of this build setting.Apple 页面Privacy - Calendars Usage Description
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the NSCalendarsUsageDescription key in the Info.plist file to the value of this build setting.Apple 页面Privacy - Calendars Write Only Usage Description
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the NSCalendarsWriteOnlyAccessUsageDescription key in the Info.plist file to the value of this build setting.Apple 页面Privacy - Camera Usage Description
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the NSCameraUsageDescription key in the Info.plist file to the value of this build setting.Apple 页面Privacy - Contacts Usage Description
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the NSContactsUsageDescription key in the Info.plist file to the value of this build setting.Apple 页面Privacy - Critical Messaging Usage Description
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the NSCriticalMessagingUsageDescription key in the Info.plist file to the value of this build setting.Apple 页面Privacy - Desktop Folder Usage Description
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the NSDesktopFolderUsageDescription key in the Info.plist file to the value of this build setting.Apple 页面Privacy - Documents Folder Usage Description
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the NSDocumentsFolderUsageDescription key in the Info.plist file to the value of this build setting.Apple 页面Privacy - Downloads Folder Usage Description
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the NSDownloadsFolderUsageDescription key in the Info.plist file to the value of this build setting.Apple 页面Privacy - Face ID Usage Description
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the NSFaceIDUsageDescription key in the Info.plist file to the value of this build setting.Apple 页面Privacy - Fall Detection Usage Description
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the NSFallDetectionUsageDescription key in the Info.plist file to the value of this build setting.Apple 页面Privacy - Access to a File Provide Domain Usage Description
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the NSFileProviderDomainUsageDescription key in the Info.plist file to the value of this build setting.Apple 页面Privacy - File Provider Presence Usage Description
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the NSFileProviderPresenceUsageDescription key in the Info.plist file to the value of this build setting.Apple 页面Privacy - Financial Data Usage Description
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the NSFinancialDataUsageDescription key in the Info.plist file to the value of this build setting.Apple 页面Privacy - Focus Status Usage Description
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the NSFocusStatusUsageDescription key in the Info.plist file to the value of this build setting.Apple 页面Privacy - GameKit Friend List Usage Description
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the NSGKFriendListUsageDescription key in the Info.plist file to the value of this build setting.Apple 页面Privacy - Hands Tracking Usage Description
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the NSHandsTrackingUsageDescription key in the Info.plist file to the value of this build setting.Apple 页面Privacy - Health Records Usage Description
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the NSHealthClinicalHealthRecordsShareUsageDescription key in the Info.plist file to the value of this build setting.Apple 页面Privacy - Health Share Usage Description
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the NSHealthShareUsageDescription key in the Info.plist file to the value of this build setting.Apple 页面Privacy - Health Update Usage Description
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the NSHealthUpdateUsageDescription key in the Info.plist file to the value of this build setting.Apple 页面Privacy - HomeKit Usage Description
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the NSHomeKitUsageDescription key in the Info.plist file to the value of this build setting.Apple 页面Copyright (Human-Readable)
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the NSHumanReadableCopyright key in the Info.plist file to the value of this build setting.Apple 页面Privacy - Identity Usage Description
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the NSIdentityUsageDescription key in the Info.plist file to the value of this build setting.Apple 页面Privacy - Local Network Usage Description
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the NSLocalNetworkUsageDescription key in the Info.plist file to the value of this build setting.Apple 页面Privacy - Location Always and When In Use Usage Description
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the NSLocationAlwaysAndWhenInUseUsageDescription key in the Info.plist file to the value of this build setting.Apple 页面Privacy - Location Always Usage Description
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the NSLocationAlwaysUsageDescription key in the Info.plist file to the value of this build setting.Apple 页面Privacy - Location Temporary Usage Description Dictionary
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the NSLocationTemporaryUsageDescriptionDictionary key in the Info.plist file to the value of this build setting.Apple 页面Privacy - Location Usage Description
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the NSLocationUsageDescription key in the Info.plist file to the value of this build setting.Apple 页面Privacy - Location When In Use Usage Description
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the NSLocationWhenInUseUsageDescription key in the Info.plist file to the value of this build setting.Apple 页面Privacy - Main Camera Usage Description
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the NSMainCameraUsageDescription key in the Info.plist file to the value of this build setting.Apple 页面Main Nib File Base Name
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the NSMainNibFile key in the Info.plist file to the value of this build setting.Apple 页面AppKit Main Storyboard File Base Name
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the NSMainStoryboardFile key in the Info.plist file to the value of this build setting.Apple 页面Privacy - Microphone Usage Description
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the NSMicrophoneUsageDescription key in the Info.plist file to the value of this build setting.Apple 页面Privacy - Motion Usage Description
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the NSMotionUsageDescription key in the Info.plist file to the value of this build setting.Apple 页面Privacy - Nearby Interaction Allow Once Usage Description
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the NSNearbyInteractionAllowOnceUsageDescription key in the Info.plist file to the value of this build setting.Apple 页面Privacy - Nearby Interaction Usage Description
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the NSNearbyInteractionUsageDescription key in the Info.plist file to the value of this build setting.Apple 页面Privacy - Network Volumes Usage Description
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the NSNetworkVolumesUsageDescription key in the Info.plist file to the value of this build setting.Apple 页面Privacy - Photo Library Additions Usage Description
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the NSPhotoLibraryAddUsageDescription key in the Info.plist file to the value of this build setting.Apple 页面Privacy - Photo Library Usage Description
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the NSPhotoLibraryUsageDescription key in the Info.plist file to the value of this build setting.Apple 页面Principal Class
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the NSPrincipalClass key in the Info.plist file to the value of this build setting.Apple 页面Privacy - Reminders Full Access Usage Description
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the NSRemindersFullAccessUsageDescription key in the Info.plist file to the value of this build setting.Apple 页面Privacy - Reminders Usage Description
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the NSRemindersUsageDescription key in the Info.plist file to the value of this build setting.Apple 页面Privacy - Removable Volumes Usage Description
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the NSRemovableVolumesUsageDescription key in the Info.plist file to the value of this build setting.Apple 页面Privacy - SensorKit Privacy Policy URL
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the NSSensorKitPrivacyPolicyURL key in the Info.plist file to the value of this build setting.Apple 页面Privacy - SensorKit Usage Description
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the NSSensorKitUsageDescription key in the Info.plist file to the value of this build setting.Apple 页面Privacy - Siri Usage Description
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the NSSiriUsageDescription key in the Info.plist file to the value of this build setting.Apple 页面Privacy - Speech Recognition Usage Description
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the NSSpeechRecognitionUsageDescription key in the Info.plist file to the value of this build setting.Apple 页面Sticker Sharing Level
Messages · OSWhen GENERATE_INFOPLIST_FILE is enabled, sets the value of the NSStickerSharingLevel key in the Info.plist file to the value of this build setting.Apple 页面Supports Live Activities
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the NSSupportsLiveActivities key in the Info.plist file to the value of this build setting.Apple 页面Supports Frequent Updates of Live Activities
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the NSSupportsLiveActivitiesFrequentUpdates key in the Info.plist file to the value of this build setting.Apple 页面Privacy - System Administration Usage Description
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the NSSystemAdministrationUsageDescription key in the Info.plist file to the value of this build setting.Apple 页面Privacy - System Extension Usage Description
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the NSSystemExtensionUsageDescription key in the Info.plist file to the value of this build setting.Apple 页面Privacy - Tracking Usage Description
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the NSUserTrackingUsageDescription key in the Info.plist file to the value of this build setting.Apple 页面Privacy - TV Provider Usage Description
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the NSVideoSubscriberAccountUsageDescription key in the Info.plist file to the value of this build setting.Apple 页面View Gesture Recognizer Is Exclusive
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the NSViewGestureRecognizerIsExclusive key in the Info.plist file to the value of this build setting.Apple 页面Privacy - VoIP Usage Description
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the NSVoIPUsageDescription key in the Info.plist file to the value of this build setting.Apple 页面Privacy - World Sensing Usage Description
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the NSWorldSensingUsageDescription key in the Info.plist file to the value of this build setting.Apple 页面Privacy - Driver Extension Usage Description
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the OSBundleUsageDescription key in the Info.plist file to the value of this build setting.Apple 页面Application Scene Manifest (Generation)
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the UIApplicationSceneManifest key in the Info.plist file to an entry suitable for a multi-window application.Apple 页面Supports Indirect Events
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the UIApplicationSupportsIndirectInputEvents key in the Info.plist file to the value of this build setting.Apple 页面Launch Screen (Generation)
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the UILaunchScreen key in the Info.plist file to an empty dictionary.Apple 页面Launch Screen Interface File Base Name
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the UILaunchStoryboardName key in the Info.plist file to the value of this build setting.Apple 页面UIKit Main Storyboard File Base Name
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the UIMainStoryboardFile key in the Info.plist file to the value of this build setting.Apple 页面Required Device Capabilities
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the UIRequiredDeviceCapabilities key in the Info.plist file to the value of this build setting.Apple 页面Requires Full Screen
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the UIRequiresFullScreen key in the Info.plist file to the value of this build setting.Apple 页面Status Bar Initially Hidden
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the UIStatusBarHidden key in the Info.plist file to the value of this build setting.Apple 页面Status Bar Style
UIStatusBarStyleBlackOpaque · UIStatusBarStyleBlackTranslucent · UIStatusBarStyleDarkContent · UIStatusBarStyleDefault · UIStatusBarStyleLightContentWhen GENERATE_INFOPLIST_FILE is enabled, sets the value of the UIStatusBarStyle key in the Info.plist file to the value of this build setting.Apple 页面Supported Interface Orientations
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the UISupportedInterfaceOrientations key in the Info.plist file to the value of this build setting.Apple 页面Supported Interface Orientations (iPad)
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the UISupportedInterfaceOrientations key in the Info.plist file to the value of this build setting.Apple 页面Supported Interface Orientations (iPhone)
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the UISupportedInterfaceOrientations key in the Info.plist file to the value of this build setting.Apple 页面Supports Document Browser
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the UISupportsDocumentBrowser key in the Info.plist file to the value of this build setting.Apple 页面User Interface Style
Automatic · Dark · LightWhen GENERATE_INFOPLIST_FILE is enabled, sets the value of the UIUserInterfaceStyle key in the Info.plist file to the value of this build setting.Apple 页面WatchKit Companion App Bundle Identifier
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the WKCompanionAppBundleIdentifier key in the Info.plist file to the value of this build setting.Apple 页面WatchKit Extension Delegate Class Name
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the WKExtensionDelegateClassName key in the Info.plist file to the value of this build setting.Apple 页面App Can Run Independently of Companion iPhone App
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the WKRunsIndependentlyOfCompanionApp key in the Info.plist file to the value of this build setting.Apple 页面Supports Launch for Live Activity Attribute Types
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the WKSupportsLiveActivityLaunchAttributeTypes key in the Info.plist file to the value of this build setting.Apple 页面App is Available Only on Apple Watch
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the WKWatchOnly key in the Info.plist file to the value of this build setting.Apple 页面Info.plist Other Preprocessor Flags
Other flags to pass to the C preprocessor when preprocessing the Info.plist file.Apple 页面Info.plist Output Encoding
XML · binary · same-as-inputsame-as-inputSpecifies the output encoding for the output Info.plist. The output encodings can be binary or XML. By default, the output encoding will be unchanged from the input.Apple 页面INFOPLIST_PATH
Specifies the path to the bundle’s information property list file.Apple 页面Info.plist Preprocessor Prefix File
Implicitly include the given file when preprocessing the Info.plist file. The path given should either be a project relative path or an absolute path.Apple 页面Preprocess Info.plist File
NOPreprocess the Info.plist file using the C Preprocessor.Apple 页面Info.plist Preprocessor Definitions
Space-separated list of preprocessor macros of the form foo or foo=bar. These macros are used when preprocessing the Info.plist file.Apple 页面INFOSTRINGS_PATH
Specifies the file that contains the bundle’s localized strings file.Apple 页面Initialization Routine
This is the name of the routine to use for initialization.Apple 页面Enable Text-Based Stubs Inlining
NOEnables private framework inlining for Text-Based Stubs.Apple 页面Perform Copy Files Phases During `installhdrs`
NOSpecifies whether the target’s Copy Files build phases are executed in installhdr builds.Apple 页面Perform Shell Script Phases During `installhdrs`
NOSpecifies whether the target’s Run Script build phases are executed in installhdr builds. See ACTION for details on installhdr builds.Apple 页面INSTALL_DIR
$(DSTROOT)$(INSTALL_PATH)Identifies the directory in the developer’s filesystem into which the installed product is placed.Apple 页面Install Group
$(GROUP)The group name or gid for installed products.Apple 页面Install Permissions
u+w,go-w,a+rXPermissions used for installed product files.Apple 页面Install Owner
$(USER)The owner name or uid for installed products.Apple 页面Installation Directory
The directory in which to install the build products. This path is prepended by the DSTROOT.Apple 页面Intent Class Generation Language
Automatic · Objective-C · SwiftAutomaticThe Source-code language to use for generated Intent class. By default “Automatic” will analyze your project to determine the correct language. Adjust this setting to explicitly select “Swift” or “Objective-C”.Apple 页面Building for Mac Catalyst
Indicates whether the target is building for Mac Catalyst. This build setting is intended for use in shell scripts and build setting composition and should be considered read-only.Apple 页面Preserve Private External Symbols
NOActivating this setting will preserve private external symbols, rather than turning them into static symbols. This setting is also respected when performing a single-object prelink.Apple 页面Launch Constraint Parent Process Plist
A path to a plist representation of a Requirements Dictionary indicating the desired constraint on the parent of this binary.Apple 页面Launch Constraint Responsible Process Plist
A path to a plist representation of a Requirements Dictionary indicating the desired constraint on the responsible process for this binary.Apple 页面Launch Constraint Process Plist
A path to a plist representation of a Requirements Dictionary indicating the desired constraint on this binary.Apple 页面Client Name
This setting passes the value with -client_name when linking the executable.Apple 页面Path to Linker Dependency Info File
$(OBJECT_FILE_DIR_$(CURRENT_VARIANT))/$(CURRENT_ARCH)/$(PRODUCT_NAME)_dependency_info.datThis setting defines the path to which the linker should emit information about what files it used as inputs and generated. Xcode uses this information for its dependency tracking. Setting the value of this setting to empty will disable passing this option to the linker.Apple 页面Dynamic Library Allowable Clients
This setting restricts the clients allowed to link a dylib by passing -allowable_client to the linker for each supplied value.Apple 页面Dynamic Library Install Name
Sets an internal install path (LC_ID_DYLIB) in a dynamic library. Any clients linked against the library will record that path as the way dyld should locate this library. If this option is not specified, then the -o path will be used. This setting is ignored when building any product other than a dynamic library. See Dynamic Library Programming Topics.Apple 页面Dynamic Linker Environment
This setting allows key=value pairs of dyld environment variables to be embedded in a generated executable as LC_DYLD_ENVIRONMENT load commands in order to supplement the environment in which the executable is launched, if allowed by the platform and its security environment.Apple 页面Export Symbols
YESExport symbols from the binaries. Disabling this setting can be useful for binaries which have no API or plug-ins and thus need no symbol exports. [-no_exported_symbols]Apple 页面Write Link Map File
NOActivating this setting will cause the linker to write a map file to disk, which details all symbols and their addresses in the output image. The path to the map file is defined by the LD_MAP_FILE_PATH setting.Apple 页面Path to Link Map File
$(TARGET_TEMP_DIR)/$(PRODUCT_NAME)-LinkMap-$(CURRENT_VARIANT)-$(CURRENT_ARCH).txtThis setting defines the path to the map file written by the linker when the LD_GENERATE_MAP_FILE setting is activated. By default, a separate file will be written for each architecture and build variant, and these will be generated in the Intermediates directory for the target whose product is being linked.Apple 页面Generate Position-Dependent Executable
NOActivating this setting will prevent Xcode from building a main executable that is position independent (PIE). When targeting macOS 10.7 or later, PIE is the default for main executables, so activating this setting will change that behavior. When targeting OS X 10.6 or earlier, or when building for i386, PIE is not the default, so activating this setting does nothing.
You cannot create a PIE from .o files compiled with -mdynamic-no-pic. Using PIE means the codegen is less optimal, but the address randomization adds some security.Apple 页面Quote Linker Arguments
YESThis setting controls whether arguments to the linker should be quoted using -Xlinker. By default, Xcode invokes the linker by invoking the driver of the compiler used to build the source files in the target, and passing -Xlinker to quote arguments will cause the compiler driver to pass them through to the linker (rather than trying to evaluate them within the driver). By default, this setting is enabled. Disabling it will cause Xcode to not use -Xlinker to pass arguments to the linker. Disabling this setting is useful if the target has instructed Xcode to use an alternate linker (for example, by setting the LD setting to the path to another linker) and that alternate linker does not recognize -Xlinker.Apple 页面Runpath Search Paths
This is a list of paths to be added to the runpath search path list for the image being created. At runtime, dyld uses the runpath when searching for dylibs whose load path begins with @rpath/. See Dynamic Library Programming Topics.Apple 页面Duplicate Libraries
NOWarn for linking the same library multiple times.Apple 页面Unused Dylibs
NOWarn for any dylib linked to but not used.Apple 页面Other Lex Flags
Space-separated list of additional flags to pass to lex. Be sure to backslash-escape any arguments that contain spaces or special characters, such as path names that may contain spaces. Use this setting if Xcode does not already provide UI for a lex flag.Apple 页面Generate Case-Insensitive Scanner
NOEnabling this option causes lex to generate a case-insensitive scanner. The case of letters given in the lex input patterns will be ignored, and tokens in the input will be matched regardless of case. The matched text given in yytext will have the preserved case (for example, it will not be folded).Apple 页面Insert #line Directives
YESEnabling this option instructs lex to insert #line directives so error messages in the actions will be correctly located with respect to either the original lex input file (if the errors are due to code in the input file), or lex.yy.c (if the errors are lex’s fault). This option is enabled by default; disabling it passes a flag to lex to not insert #line directives.Apple 页面Suppress Default Rule
NOEnabling this option causes the default rule (that unmatched scanner input is echoed to stdout) to be suppressed. If the scanner encounters input that does not match any of its rules, it aborts with an error. This option is useful for finding holes in a scanner’s rule set.Apple 页面Suppress Warning Messages
$(SUPPRESS_WARNINGS)Enabling this option causes lex to suppress its warning messages.Apple 页面Library Load Constraint Plist
A path to a plist representation of a Requirements Dictionary that specifies the desired set of libraries that can be loaded by this process. Supported when building on macOS 14 or later.Apple 页面Library Search Paths
This is a list of paths to folders to be searched by the linker for libraries used by the product. Paths are delimited by whitespace, so any paths with spaces in them need to be properly quoted.Apple 页面Display Mangled Names
NOActivating this setting causes the linker to display mangled names for C++ symbols. Normally, this is not recommended, but turning it on can help to diagnose and solve C++ link errors.Apple 页面Link With Standard Libraries
YESWhen this setting is enabled, the compiler driver will automatically pass its standard libraries to the linker to use during linking. If desired, this flag can be used to disable linking with the standard libraries, and then individual libraries can be passed as OTHER_LDFLAGS.Apple 页面Link-Time Optimization
NO · YES · YES_THINNOEnabling this setting allows optimization across file boundaries during linking.
• No: Disabled. Do not use link-time optimization.
• Monolithic Link-Time Optimization: This mode performs monolithic link-time optimization of binaries, combining all executable code into a single unit and running aggressive compiler optimizations.
• Incremental Link-Time Optimization: This mode performs partitioned link-time optimization of binaries, inlining between compilation units and running aggressive compiler optimizations on each unit in parallel. This enables fast incremental builds and uses less memory than Monolithic LTO.Apple 页面Localization Export Supported
YESWhen enabled, localizable content in this target/project can be exported.Apple 页面Localization Prefers String Catalogs
NOWhen enabled, string tables generated in a localization export will prefer the String Catalog format.Apple 页面Localized Strings in Code Comments
NOWhen enabled, localizable strings wrapped in NSLocalizedString and similar string macros will be extracted even if commented out or wrapped in #if 0.Apple 页面Localized String Macro Names
NSLocalizedString CFCopyLocalizedStringThe base names for NSLocalizedString-like macros or functions used to produce localized strings in source code. The default base names of NSLocalizedString and CFCopyLocalizedString are always considered, even if this setting is empty.Apple 页面Localized String SwiftUI Support
YESWhen enabled, literal strings in SwiftUI will be extracted during localization export. This will only extract string literals in Text() initializers, unless SWIFT_EMIT_LOC_STRINGS is also enabled.Apple 页面Mach-O Type
mh_bundle · mh_dylib · mh_execute · mh_object · objectlib · staticlibThis setting determines the format of the produced binary and how it can be linked when building other binaries. For information on binary types, see Building Mach-O Files in Mach-O Programming Topics.
• Executable: Executables and standalone binaries and cannot be linked. [mh_execute]
• Dynamic Library: Dynamic libraries are linked at build time and loaded automatically when needed. [mh_dylib]
• Bundle: Bundle libraries are loaded explicitly at run time. [mh_bundle]
• Static Library: Static libraries are linked at build time and loaded at execution time. [staticlib]
• Relocatable Object File: Object files are single-module files that are linked at build time. [mh_object]Apple 页面Suppress all mapc warnings
NOCompile .xcmappingmodel files into .cdm without reporting warnings.Apple 页面Marketing Version
This setting defines the user-visible version of the project.
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the CFBundleShortVersionString key in the Info.plist file to the value of this build setting.Apple 页面Alternative Distribution - Marketplaces
Enable overriding your app’s distributor identifier with a list of additional marketplace identifiers when running from Xcode.Apple 页面Build Mergeable Library
NOFor dynamic libraries and frameworks, links this target’s binary as a mergeable library which can be merged into the product of a target which depends on it if that target is configured to do so. This target will be linked as a mergeable library in release builds so it can be merged, but will instead be linked as a normal dynamic library to be reexported in debug builds. For other binary types, this setting has no effect.
For more information on mergeable libraries, see Configuring your project to use mergeable libraries.Apple 页面Create Merged Binary
automatic · manual · nonenoneUse this setting to link the target’s binary by combining it with mergeable libraries it links against to create a single binary. Only applies to executables, dynamic libraries and frameworks.
• When set to Automatic, this target’s immediate dependencies which build dynamic libraries or frameworks and are in its Link Binaries With Libraries will automatically be built as mergeable libraries and merged into this target’s binary during release builds, or reexported during debug builds.
• When set to Manual, only immediate dependencies which have Build Mergeable Library explicitly enabled will be merged or reexported.
For more information on mergeable libraries, see Configuring your project to use mergeable libraries.Apple 页面Module Map File
This is the project-relative path to the LLVM module map file that defines the module structure for the compiler. If empty, it will be automatically generated for appropriate products when DEFINES_MODULE is enabled.Apple 页面Private Module Map File
This is the project-relative path to the LLVM module map file that defines the module structure for private headers.Apple 页面MODULES_FOLDER_PATH
Specifies the directory that contains the product’s Clang module maps and Swift module content.Apple 页面MODULE_CACHE_DIR
$(DERIVED_DATA_DIR)/ModuleCache.noindexAbsolute path of folder in which compiler stores its cached modules—this cache is a performance improvement.Apple 页面Module Identifier
This is the identifier of the kernel module listed in the generated stub. This is only used when building kernel extensions.Apple 页面Module Start Routine
This defines the name of the kernel module start routine. This is only used when building kernel extensions.Apple 页面Module Stop Routine
This defines the name of the kernel module stop routine. This is only used when building kernel extensions.Apple 页面Supported Languages
objective-cLanguages to verify the module, i.e. the languages supported for framework clients. Allowed values are ‘c’, ‘c++’, ‘objective-c’, ‘objective-c++’Apple 页面Supported Language Dialects
Language dialects to verify the module, i.e. the language dialects supported for framework clients. Allowed values are ‘ansi’, ‘c89’, ‘gnu89’, ‘c99’, ‘gnu99’, ‘c11’, ‘gnu11’, ‘c17’, ‘gnu17’, ‘c23’, ‘gnu23’, ‘c++98’, ‘gnu++98’, ‘c++11’, ‘gnu++11’, ‘c++14’, ‘gnu++14’, ‘c++17’, ‘gnu++17’, ‘c++20’, ‘gnu++20’, ‘c++23’, ‘gnu++23’Apple 页面Module Version
This is the version of the kernel module listed in the generated stub. This is only used when building kernel extensions.Apple 页面Suppress momc warnings for delete rules
NOSuppress managed object model compiler (momc) warnings for delete rules during the compilation of .xcdatamodel(d) files.Apple 页面Suppress momc warnings on missing inverse relationships
NOSuppress managed object model compiler (momc) warnings from output on missing inverse relationships during the compilation of .xcdatamodel(d) filesApple 页面Suppress momc warnings for entities with more than 100 properties
NOSuppress managed object model compiler (momc) warnings from output on entities with more than 100 properties during the compilation of .xcdatamodel(d) files.Apple 页面Suppress all momc warnings
NOSuppress managed object model compiler (momc) warnings from output during the compilation of .xcdatamodel(d) filesApple 页面Suppress momc error on transient inverse relationships
NOSuppress managed object model compiler (momc) warnings from output on transient inverse relationships during the compilation of .xcdatamodel(d) files. This is only intended to be used on 10.4.x created models that compiled properly in 10.4.x before the error was introduced in 10.5Apple 页面Other Metal Linker Flags
Space-separated list of metal linker flagsApple 页面Other Metal Compiler Flags
Space-separated list of compiler flagsApple 页面Produce Debugging Information
INCLUDE_SOURCE · NO · YESNODebugging information is required for shader debugging and profiling.Apple 页面Enable Index-While-Building Functionality (Metal)
$(INDEX_ENABLE_DATA_STORE)Control whether the compiler should emit index data while building.Apple 页面Enable Modules (Metal)
NO · STDLIB · YESSTDLIBEnable the use of modules. Headers are imported as semantic modules instead of raw headers. This can result in faster builds and project indexing.
• All: Enable for all headers.
• Standard library: Enable for standard library headers only (default).
• None: Disable the feature.Apple 页面Enable Fast Math
YESEnable optimizations for floating-point arithmetic that may violate the IEEE 754 standard and disable the high precision variant of math functions for single and half precision floating-point.Apple 页面Header Search Paths
This is a list of paths to folders to be searched by the compiler for included or imported header files when compiling Metal. Paths are delimited by whitespace, so any paths with spaces in them need to be properly quoted. [MTL_HEADER_SEARCH_PATHS, -I]Apple 页面Ignore Warnings
NOEnabling this option causes all warnings to be ignored. [MTL_IGNORE_WARNINGS, -W]Apple 页面Metal Language Revision
Metal11 · Metal12 · Metal20 · Metal21 · Metal22 · Metal23 · Metal24 · Metal30 · Metal31 · Metal32 · Metal40 · Metal41 · UseDeploymentTarget · iOSMetal10UseDeploymentTargetDetermine the language revision to use. A value for this option must be provided.Apple 页面Single-Precision Floating Point Functions
FAST · PRECISE · UseLanguageDefault$(MTL_MATH_FP32_FUNCTIONS_derived_$(MTL_FAST_MATH):default=FAST)Controls default math functions for single precision floating-pointApple 页面Math Mode
FAST · RELAXED · SAFE · UseLanguageDefault$(MTL_MATH_MODE_derived_$(MTL_FAST_MATH):default=FAST)Controls floating-point optimizationsApple 页面Optimization Level
default · sdefaultOptimization level for the Metal compiler.
• Default: Optimize for program performance [-O2]. This setting applies a moderate level of optimization that enables most optimizations.
• Size: Like default, with extra optimizations to reduce code size [-Os]. This setting limits optimizations that increase code size, such as loop unrolling and function inlining, and enables other optimizations for size. It may reduce compile time and compiler memory in cases where optimizing for performance results in very large code.Apple 页面Preprocessor Definitions
Space-separated list of preprocessor macros of the form “foo” or “foo=bar”.Apple 页面Treat Warnings as Errors
NOEnabling this option causes all warnings to be treated as errors. [MTL_TREAT_WARNINGS_AS_ERRORS, -Werror]Apple 页面NATIVE_ARCH
Identifies the architecture on which the build is being performed.Apple 页面OBJECT_FILE_DIR
Partially identifies the directory into which variant object files are placed. The complete specification is computed using the variants of this build setting.Apple 页面Intermediate Build Files Path
$(SYMROOT)The path where intermediate files will be placed during a build. Intermediate files include generated sources, object files, etc. Shell script build phases can place and access files here, as well. Typically this path is not set per target, but is set per project or per user. By default, this is set to $(PROJECT_DIR)/build.Apple 页面Build Active Architecture Only
NOIf enabled, only the active architecture is built. This setting will be ignored when building with a run destination which does not define a specific architecture, such as a ‘Generic Device’ run destination, or if the ‘Override Architectures’ scheme option is set to ‘Match Run Destination’ or ‘Universal’.Apple 页面On Demand Resources Initial Install Tags
Defined a set of initial On Demand Resources tags to be downloaded and installed with your application.Apple 页面On Demand Resources Prefetch Order
Once your app is installed, this defined a set of On Demand Resources tags that should be downloaded. These tags are downloaded after the initial installation of your application, and will be downloaded in the order the tags provided in the list from first to last.Apple 页面OpenCL Architectures
i386 x86_64 gpu_32 gpu_64A list of the architectures for which the product will be built. This is usually set to a predefined build setting provided by the platform.Apple 页面Auto-vectorizer
YESAuto-vectorizes the OpenCL kernels for the CPU. This setting takes effect only for the CPU. This makes it possible to write a single kernel that is portable and performant across CPUs and GPUs.Apple 页面OpenCL Compiler Version
CL1.1 · CL1.2CL1.1The OpenCL C compiler version supported by the platform.Apple 页面Flush denorms to zero
NOThis option controls how single precision and double precision denormalized numbers are handled. If specified as a build option, the single precision denormalized numbers may be flushed to zero; double precision denormalized numbers may also be flushed to zero if the optional extension for double precision is supported. This is intended to be a performance hint and the OpenCL compiler can choose not to flush denorms to zero if the device supports single precision (or double precision) denormalized numbers.
This option is ignored for single precision numbers if the device does not support single precision denormalized numbers, for example, CL_FP_DENORM bit is not set in CL_DEVICE_SINGLE_FP_CONFIG.
This option is ignored for double precision numbers if the device does not support double precision or if it does support double precision but not double precision denormalized numbers, for example, CL_FP_DENORM bit is not set in CL_DEVICE_DOUBLE_FP_CONFIG.
This flag only applies for scalar and vector single precision floating-point variables and computations on these floating-point variables inside a program. It does not apply to reading from or writing to image objects.Apple 页面Double as single
NOTreat double precision floating-point expression as a single precision floating-point expression. This option is available for GPUs only.Apple 页面Relax IEEE Compliance
NOThis allows optimizations for floating-point arithmetic that may violate the IEEE 754 standard and the OpenCL numerical compliance requirements defined in in section 7.4 for single-precision floating-point, section 9.3.9 for double-precision floating-point, and edge case behavior in section 7.5 of the OpenCL 1.1 specification.
This is intended to be a performance optimization.
This option causes the preprocessor macro __FAST_RELAXED_MATH__ to be defined in the OpenCL program.Apple 页面Use MAD
NOAllow a * b + c to be replaced by a mad instruction. The mad computes a * b + c with reduced accuracy. For example, some OpenCL devices implement mad as truncate the result of a * b before adding it to c.
This is intended to be a performance optimization.Apple 页面Optimization Level
0 · 1 · 2 · 3 · ss• None: Do not optimize. [-O0] With this setting, the compiler’s goal is to reduce the cost of compilation and to make debugging produce the expected results. Statements are independent: if you stop the program with a breakpoint between statements, you can then assign a new value to any variable or change the program counter to any other statement in the function and get exactly the results you would expect from the source code.
• Fast: Optimizing compilation takes somewhat more time, and a lot more memory for a large function. [-O, -O1] With this setting, the compiler tries to reduce code size and execution time, without performing any optimizations that take a great deal of compilation time. In Apple’s compiler, strict aliasing, block reordering, and inter-block scheduling are disabled by default when optimizing.
• Faster: The compiler performs nearly all supported optimizations that do not involve a space-speed tradeoff. [-O2] With this setting, the compiler does not perform loop unrolling or function inlining, or register renaming. As compared to the Fast setting, this setting increases both compilation time and the performance of the generated code.
• Fastest: Turns on all optimizations specified by the Faster setting and also turns on function inlining and register renaming options. This setting may result in a larger binary. [-O3]
• Fastest, smallest: Optimize for size. This setting enables all Faster optimizations that do not typically increase code size. It also performs further optimizations designed to reduce code size. [-Os]Apple 页面OpenCL Other Flags
Space-separated list of additional flags to pass to the compiler. Be sure to backslash-escape any arguments that contain spaces or special characters, such as path names that may contain spaces. Use this setting if Xcode does not already provide UI for a particular compiler flag.Apple 页面OpenCL Preprocessor Macros
Space-separated list of preprocessor macros of the form foo or foo=bar.Apple 页面Order File
The path to a file that alters the order in which functions and data are laid out.
For each section in the output file, any symbol in that section that are specified in the order file is moved to the start of its section and laid out in the same order as in the order file. Order files are text files with one symbol name per line. Lines starting with a # are comments. A symbol name may be optionally preceded with its object file leafname and a colon (for example, foo.o:_foo). This is useful for static functions/data that occur in multiple files. A symbol name may also be optionally preceded with the architecture (for example, ppc:_foo or ppc:foo.o:_foo). This enables you to have one order file that works for multiple architectures. Literal C-strings may be ordered by quoting the string in the order file (for example, "Hello, world\n").
Generally you should not specify an order file in Debug or Development configurations, as this will make the linked binary less readable to the debugger. Use them only in Release or Deployment configurations.Apple 页面Save as Execute-Only
NOSaves the output script in execute-only form; the script can be run, but cannot be opened in Script Editor or Xcode. With this option turned off, a user may see the original script source by opening the script.Apple 页面Other C Flags
Space-separated list of additional flags to pass to the compiler for C and Objective-C files. Be sure to backslash-escape any arguments that contain spaces or special characters, such as path names that may contain spaces. Use this setting if Xcode does not already provide UI for a particular C or Objective-C compiler flag.Apple 页面Other Code Signing Flags
A list of additional options to pass to codesign(1).Apple 页面Other C++ Flags
$(OTHER_CFLAGS)Space-separated list of additional flags to pass to the compiler for C++ and Objective-C++ files. Be sure to backslash-escape any arguments that contain spaces or special characters, such as path names that may contain spaces. Use this setting if Xcode does not already provide UI for a C++ or Objective-C++ compiler flag.Apple 页面Other DocC Flags
A list of additional flags to pass to DocCApple 页面Other IIG C Flags
Space-separated list of additional flags to pass to the iig invocation of clang. Be sure to backslash-escape any arguments that contain spaces or special characters, such as path names that may contain spaces. Use this setting if Xcode does not already provide UI for a particular iig flagApple 页面Other IIG Flags
Space-separated list of additional flags to pass to the iig compiler. Be sure to backslash-escape any arguments that contain spaces or special characters, such as path names that may contain spaces. Use this setting if Xcode does not already provide UI for a particular iig flagApple 页面Other Linker Flags
Options defined in this setting are passed to invocations of the linker.Apple 页面Other Librarian Flags
Options defined in this setting are passed to all invocations of the archive librarian, which is used to generate static libraries.Apple 页面Other MiG Flags
Space-separated list of additional flags to pass to mig. Be sure to backslash-escape any arguments that contain spaces or special characters, such as path names that may contain spaces. Use this setting if Xcode does not already provide UI for a mig flag.Apple 页面Other Module Verifier Flags
$(OTHER_CLANG_MODULES_VERIFIER_FLAGS)Additional flags to pass to the modules-verifier tool.Apple 页面Other OSACompile Flags
Space-separated list of additional flags to pass to osacompile. Be sure to backslash-escape any arguments that contain spaces or special characters, such as path names that may contain spaces. Use this setting if Xcode does not already provide UI for a particular osacompile flag.Apple 页面Other Rez Flags
Space-separated list of additional flags to pass to the Rez compiler. Be sure to backslash-escape any arguments that contain spaces or special characters, such as path names that may contain spaces. Use this setting if Xcode does not already provide UI for a particular Rez flag.Apple 页面Other Swift Flags
A list of additional flags to pass to the Swift compiler.Apple 页面Other Text-Based InstallAPI Flags
Options defined in this setting are passed to invocations of the Text-Based InstallAPI tool.Apple 页面PACKAGE_TYPE
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.Apple 页面Property List Output Encoding
Binary · SameAsInput · XML · binary · same-as-inputsame-as-inputSpecifies the output encoding for property list files (.plist). The output encodings can be binary or XML. By default, the output encoding will be unchanged from the input.Apple 页面PLUGINS_FOLDER_PATH
Specifies the directory that contains the product’s plugins.Apple 页面Precompiled Header Uses Files From Build Directory
YESThis setting allows for better control of sharing precompiled prefix header files between projects. By default, Xcode assumes that the prefix header file may include header files from the build directory if the build directory is outside of the project directory. Xcode cannot determine this ahead of time since other projects may not have been built into the shared build directory at the time the information is needed.
If your prefix file never includes files from the build directory you may set this to NO to improve sharing of precompiled headers. If the prefix does use files from a build directory that is inside your project directory, you may set this to YES to avoid unintended sharing that may result in build failures.Apple 页面Single-Object Prelink Flags
Additional flags to pass when performing a single-object prelink.Apple 页面Prelink libraries
Additional libraries to pass when performing a single-object prelink.Apple 页面Private Headers Folder Path
The location to copy the private headers to during building, relative to the built products folder.Apple 页面PROCESSED_INFOPLIST_PATH
$(OBJECT_FILE_DIR)-$(CURRENT_VARIANT)/$(CURRENT_ARCH)/Processed-Info.plistPath of the per-architecture, per-variant intermediate Info.plist after C preprocessing and/or variable expansion have been applied.Apple 页面Product Bundle Identifier
A string that uniquely identifies the bundle. The string should be in reverse DNS format using only alphanumeric characters (A-Z, a-z, 0-9), the dot (.), and the hyphen (-).
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the CFBundleIdentifier key in the Info.plist file to the value of this build setting.Apple 页面PRODUCT_DEFINITION_PLIST
Path to a file specifying additional requirements for a product archive.Apple 页面Product Module Name
$(PRODUCT_NAME:c99extidentifier)The name to use for the source code module constructed for this target, and which will be used to import the module in implementation source files. Must be a valid identifier.Apple 页面Product Name
This is the basename of the product generated by the target.
When GENERATE_INFOPLIST_FILE is enabled, sets the value of the CFBundleName key in the Info.plist file to the value of this build setting.Apple 页面Project Name
The name of the current project.Apple 页面PROJECT_TEMP_DIR
$(PROJECT_TEMP_ROOT)/$(PROJECT_NAME).buildIdentifies 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.Apple 页面Provisioning Profile
Must contain a profile name (or UUID). A missing or invalid profile will cause a build error. Use in conjunction with [DEVELOPMENT_TEAM] to fully specify provisioning profile.Apple 页面Public Headers Folder Path
The location to copy the public headers to during building, relative to the built products folder.Apple 页面Re-Exported Framework Names
List of framework names that should have their symbols be reexported from the built library.Apple 页面Re-Exported Library Names
List of library names that should have their symbols be reexported from the built library.Apple 页面Re-Exported Library Paths
List of library paths that should have their symbols be reexported from the built library.Apple 页面Strip USDZ file(s) from Reference Object
NOStrip any embedded USDZ files when compiling a Reference Object file.Apple 页面Register App Groups
NORegister app groups in profiles.Apple 页面REMOVE_CVS_FROM_RESOURCES
YESSpecifies whether to remove CVS directories from bundle resources when they are copied.Apple 页面REMOVE_GIT_FROM_RESOURCES
YESSpecifies whether to remove .git directories from bundle resources when they are copied.Apple 页面REMOVE_HG_FROM_RESOURCES
YESSpecifies whether to remove .hg directories from bundle resources when they are copied.Apple 页面REMOVE_SVN_FROM_RESOURCES
YESSpecifies whether to remove SVN directories from bundle resources when they are copied.Apple 页面File Fork of Binary Sources
auto · data · resourceautoDetermines whether ResMerger treats binary input files as data-fork hosted or resource-fork hosted, or whether it automatically examines each input file.Apple 页面Resources Targeted Device Family
Overrides TARGETED_DEVICE_FAMILY when the resource copying needs to differ from the default targeted device.Apple 页面RETAIN_RAW_BINARIES
$(INSTALLED_PRODUCT_ASIDES)Specifies whether to keep copies of unstripped binaries available.Apple 页面REZ_COLLECTOR_DIR
$(TARGET_TEMP_DIR)/ResourceManagerResourcesSpecifies the directory in which the collected Resource Manager resources generated by ResMerger are stored before they are added to the product.Apple 页面REZ_OBJECTS_DIR
$(REZ_COLLECTOR_DIR)/ObjectsSpecifies the directory in which compiled Resource Manager resources generated by Rez are stored before they are collected using ResMerger.Apple 页面Rez Prefix File
Implicitly include the named file on the command line for each Rez file compiled. The path given should either be a project relative path or an absolute path.Apple 页面Preprocessor Defines
These strings will be defined when compiling resource manager resources.Apple 页面Preprocessor Undefines
These strings will be undefined when compiling resource manager resources.Apple 页面Resolve Aliases
Always · Includes · Never · OutputsAlwaysEnables aliases to be unresolved or conditionally resolved. The default is to resolve aliases always.Apple 页面Read-only Resource Map
NOEnabling this option causes the resource map output to be read-only.Apple 页面Rez Script Type
Japanese · Korean · Roman · SimpChinese · TradChineseRomanEnables the recognition of a specific 2-byte character script identifier to use when compiling resource manager resources. This allows for 2-byte characters in strings to be handled as indivisible entities. The default language is Roman, which specifies 1-byte character sets.Apple 页面Rez Search Paths
This is a list of paths to search for files with resource manager resources. Paths are delimited by whitespace, so any paths with spaces in them need to be properly quoted.Apple 页面Show Diagnostic Output
NOEnabling this option causes version and progress information to be written when compiling resource manager resources.Apple 页面Suppress Type Redeclaration Warnings
NOEnabling this option causes warnings about redeclared resource types to be suppressed.Apple 页面Allow DYLD Environment Variables
NOA Boolean value that indicates whether the app may be affected by dynamic linker environment variables, which you can use to inject code into your app’s process.Apple 页面Allow JIT
NOA Boolean value that indicates whether the app may create writable and executable memory using the MAP_JIT flag.Apple 页面Allow Unsigned Executable Memory
NOA Boolean value that indicates whether the app may create writable and executable memory without the restrictions imposed by using the MAP_JIT flag.Apple 页面Debugging Tool
NOA Boolean value that indicates whether the app is a debugger and may attach to other processes or get task ports.Apple 页面Disable Executable Page Protection
NOA Boolean value that indicates whether to disable all code signing protections while launching an app, and during its execution.Apple 页面Disable Library Validation
NOA Boolean value that indicates whether the app loads arbitrary plug-ins or frameworks, without requiring code signing.Apple 页面Analyze During ‘Build’
NOActivating this setting will cause Xcode to run the Clang static analysis tool on qualifying source files during every build.Apple 页面Build Documentation During ‘Build’
NOAlso build documentation as part of the ‘Build’ action.Apple 页面Scan All Source Files for Includes
NOActivating this setting will cause all source files to be scanned for includes (for example, of header files) when computing the dependency graph, in which case if an included file is changed then the including file will be rebuilt next time a target containing it is built. Normally only certain types of files, such as C-language source files, are scanned.
This setting is useful if your project contains files of unusual types, which are compiled using a custom build rule.Apple 页面SCRIPTS_FOLDER_PATH
Specifies the directory that contains the product’s scripts.Apple 页面Base SDK
$(SDKROOT)The name or path of the base SDK being used during the build. The product will be built against the headers and libraries located inside the indicated SDK. This path will be prepended to all search paths, and will be passed through the environment to the compiler and linker. Additional SDKs can be specified in the ADDITIONAL_SDKS setting.Apple 页面Symbol Ordering Flags
These flags are typically used to specify options for ordering symbols within segments, for example the -sectorder option to ld.
Generally you should not specify symbol ordering options in Debug or Development configurations, as this will make the linked binary less readable to the debugger. Use them only in Release or Deployment configurations.Apple 页面Separately Edit Symbols
NOActivating this setting when the linked product’s symbols are to be edited will cause editing to occur via a separate invocation of nmedit(1). Otherwise editing will occur during linking, if possible.Apple 页面SHARED_FRAMEWORKS_FOLDER_PATH
Specifies the directory that contains the product’s shared frameworks.Apple 页面Precompiled Headers Cache Path
$(OBJROOT)/SharedPrecompiledHeadersThe path where precompiled prefix header files are placed during a build. Defaults to $(OBJROOT)/SharedPrecompiledHeaders. Using a common location allows precompiled headers to be shared between multiple projects.Apple 页面Skip Install
NOIf enabled, don’t install built products even if deployment locations are active.Apple 页面Skip Mergeable Library Bundle Hook
NOFor mergeable libraries, skips adding a hook into the library’s resource bundle. This will prevent Bundle(for:) from returning this library’s resource bundle.
For more information on mergeable libraries, see Configuring your project to use mergeable libraries.Apple 页面SRCROOT
.Identifies the directory containing the target’s source files.Apple 页面STRINGSDATA_DIR
$(OBJECT_FILE_DIR_$(CURRENT_VARIANT))/$(CURRENT_ARCH)The location to write .stringsdata files to when SWIFT_EMIT_LOC_STRINGS is enabled.Apple 页面STRINGSDATA_ROOT
$(TARGET_TEMP_DIR)The location to traverse and collect .stringsdata files from when exporting for localization.Apple 页面Adjust Strings File Names for Info.plist
YESIf enabled, renames .strings files whose basename matches that of the target’s Info.plist file, to InfoPlist.strings in the built product.Apple 页面Strings File Output Encoding
UTF-16 · UTF-8 · binaryUTF-16Specify the output encoding to be used for Strings files - the default is UTF-16. The value can be either an NSStringEncoding, such as one of the numeric values recognized by NSString, or an IANA character set name as understood by CFString. It is recommended that the source file be in UTF-8 encoding, which is the default encoding for standard strings files, and Xcode will automatically process it to the output encoding. Processing will fail if the file cannot be converted to the specified encoding.Apple 页面Generate String Catalog Symbols
NOWhen enabled, symbols will be generated for manually-managed strings in String Catalogs.Apple 页面Additional Strip Flags
Additional flags to be passed when stripping the linked product of the build.Apple 页面Strip Linked Product
YESIf enabled, the linked product of the build will be stripped of symbols when performing deployment postprocessing.Apple 页面Remove Text Metadata From PNG Files
YESMetadata in the form of text chunks in PNG files will be removed to reduce their footprint on disk.Apple 页面Strip Style
all · debugging · non-globalallThe level of symbol stripping to be performed on the linked product of the build. The default value is defined by the target’s product type.
• All Symbols: Completely strips the binary, removing the symbol table and relocation information. [all, -s]
• Non-Global Symbols: Strips non-global symbols, but saves external symbols. [non-global, -x]
• Debugging Symbols: Strips debugging symbols, but saves local and global symbols. [debugging, -S]Apple 页面Strip Swift Symbols
YESAdjust the level of symbol stripping specified by the STRIP_STYLE setting so that when the linked product of the build is stripped, all Swift symbols will be removed.Apple 页面Supported Platforms
The list of supported platforms from which a base SDK can be used. This setting is used if the product can be built for multiple platforms using different SDKs.Apple 页面Supports Mac Catalyst
YESSupport building this target for Mac Catalyst.Apple 页面Show Mac (Designed for iPhone & iPad) Destination
YESShow the Mac (Designed for iPhone) and Mac (Designed for iPad) destinations.Apple 页面Supports Text-Based InstallAPI
NOEnable to indicate that the target supports Text-Based InstallAPI, which will enable its generation during install builds.Apple 页面Show Apple Vision (Designed for iPhone & iPad) Destination
YESShow the Apple Vision (Designed for iPhone) and Apple Vision (Designed for iPad) destinations.Apple 页面Active Compilation Conditions
A list of compilation conditions to enable for conditional compilation expressions.Apple 页面Approachable Concurrency
NOEnables upcoming features that aim to provide a more approachable path to Swift Concurrency: DisableOutwardActorInference, GlobalActorIsolatedTypesUsability, InferIsolatedConformances, InferSendableFromCaptures, and NonisolatedNonsendingByDefault.Apple 页面Bridging Header is Internal to the Module
NOWhen there is a bridging header, this setting indicates whether the contents of that bridging header should be imported as-if they came from an internal import. This is necessary when using bridging headers with Swift modules that are imported into other modules.Apple 页面Compilation Mode
singlefile · wholemodulesinglefileThis setting controls the way the Swift files in a module are rebuilt.
• Incremental: Only rebuild the Swift source files in the module that are out of date, running multiple compiler processes as needed.
• Whole Module: Always rebuild all Swift source files in the module, in a single compiler process.Apple 页面Default Actor Isolation
MainActor · nonisolatednonisolatedControls default actor isolation for unannotated code. When set to ‘MainActor’, @MainActor isolation will be inferred by default to mitigate false-positive data-race safety errors in sequential code.Apple 页面Disable Safety Checks
NODisable runtime safety checks when optimizing.Apple 页面Const value emission protocol list
A list of protocol names whose conformances the Swift compiler is to emit compile-time-known values for.Apple 页面Use Compiler to Extract Swift Strings
NOWhen enabled, the Swift compiler will be used to extract Swift string literal and interpolation LocalizedStringKey and LocalizationKey types during localization export.Apple 页面Bare Slash Regex Literals
YESEnables the use of the forward slash syntax for regular-expressions (/.../). This is always enabled when in the Swift 6 language mode.Apple 页面Emit Swift const values
YESEmit the extracted compile-time known values from the Swift compiler (-emit-const-values)Apple 页面Explicitly Built Modules
NO · YESCoordinates the build of the main module’s modular dependencies via explicit tasks scheduled by the build system.Apple 页面Exclusive Access to Memory
debug-only · default · off · ondefaultEnforce exclusive access at run-time.Apple 页面Module Import Paths
A list of paths to be searched by the Swift compiler for additional Swift modules.Apple 页面Install Swift Module
YESFor frameworks, install the Swift module so it can be accessed from Swift code using the framework.Apple 页面Install Generated Header
YESFor frameworks, install the C++/Objective-C generated header describing bridged Swift types into the PUBLIC_HEADERS_FOLDER_PATH so they may be accessed from Objective-C or C++ code using the framework. Defaults to YES.Apple 页面Link Frameworks and Libraries Automatically
YESAutomatically link frameworks and libraries that are referenced using import.Apple 页面Bridging Header
Path to the header defining the C interfaces to be exposed in Swift.Apple 页面Generated Header Name
$(SWIFT_MODULE_NAME)-Swift.hName to use for the header that is generated by the Swift compiler for use in #import statements in Objective-C or C++.Apple 页面C++ and Objective-C Interoperability
objc · objcxxobjcDetermines whether Swift can interoperate with C++ in addition to Objective-C.Apple 页面Optimization Level
-O · -Onone · -Osize-O• None: Compile without any optimization. [-Onone]
• Optimize for Speed: [-O]
• Optimize for Size: [-Osize]
• Whole Module Optimization: [-O -whole-module-optimization]Apple 页面Package Access Identifier
An identifier that allows grouping of modules with access to symbols with a package access modifier.Apple 页面Precompile Bridging Header
YESGenerate a precompiled header for the Objective-C bridging header, if used, in order to reduce overall build times.Apple 页面Reflection Metadata Level
all · none · without-namesallThis setting controls the level of reflection metadata the Swift compiler emits.
• All: Type information about stored properties of Swift structs and classes, Swift enum cases, and their names, are emitted into the binary for reflection and analysis in the Memory Graph Debugger.
• Without Names: Only type information about stored properties and cases are emitted into the binary, with their names omitted. [-disable-reflection-names]
• None: No reflection metadata is emitted into the binary. Accuracy of detecting memory issues involving Swift types in the Memory Graph Debugger will be degraded and reflection in Swift code may not be able to discover children of types, such as properties and enum cases. [-disable-reflection-metadata]Apple 页面Skip Automatically Linking All Frameworks
NOWhen enabled, does not automatically link any frameworks which are referenced using import.Apple 页面Skip Automatically Linking Frameworks
A list of framework names which should not be automatically linked when referenced using import.Apple 页面Skip Automatically Linking Libraries
A list of library names which should not be automatically linked when referenced using import.Apple 页面Strict Concurrency Checking
complete · minimal · targeted$(SWIFT_STRICT_CONCURRENCY_DEFAULT)Enables strict concurrency checking to produce warnings for possible data races. This is always ‘complete’ when in the Swift 6 language mode and produces errors instead of warnings.Apple 页面Strict Memory Safety
MIGRATE · NO · YESNOEnable strict memory safety checking. This will produce warnings for each use of an unsafe language construct or API that isn’t acknowledged with unsafe or @unsafe.Apple 页面Suppress Warnings
$(SUPPRESS_WARNINGS)Don’t emit any warnings.Apple 页面System Module Import Paths
$(SWIFT_SYSTEM_INCLUDE_PATHS)A list of paths to be searched by the Swift compiler for additional system Swift modules. Warnings found in system modules will not be emitted.Apple 页面Treat Warnings as Errors
NOTreat all warnings as errors.Apple 页面Concise Magic File
$(SWIFT_UPCOMING_FEATURE_6_0)Changes #file to evaluate to a string literal of the format <module-name>/<file-name>, with the existing behavior preserved in a new #filePath. This is always enabled when in the Swift 6 language mode.Apple 页面Deprecate Application Main
$(SWIFT_UPCOMING_FEATURE_6_0)Causes any use of @UIApplicationMain or @NSApplicationMain to produce a warning (use @main instead). This is always enabled when in the Swift 6 language mode and an error instead of a warning.Apple 页面Disable Outward Actor Isolation Inference
$(SETTING_DefaultValue_$(SWIFT_UPCOMING_FEATURE_6_0)_$(SWIFT_APPROACHABLE_CONCURRENCY))Removes inferred actor isolation inference from property wrappers. This is always enabled when in the Swift 6 language mode.Apple 页面Dynamic Actor Isolation
$(SWIFT_UPCOMING_FEATURE_6_0)Enable actor isolation checking at runtime for synchronous isolated functions. This is always enabled when in the Swift 6 language mode.Apple 页面Require Existential any
MIGRATE · NO · YESNoChanges existential types to require explicit annotation with the any keyword.Apple 页面Forward Trailing Closures
$(SWIFT_UPCOMING_FEATURE_6_0)Updates trailing closures to be evaluated such that arguments are matched forwards instead of backwards. This is always enabled when in the Swift 6 language mode.Apple 页面Global-Actor-Isolated Types Usability
$(SETTING_DefaultValue_$(SWIFT_UPCOMING_FEATURE_6_0)_$(SWIFT_APPROACHABLE_CONCURRENCY))Enable new concurrency checking rules for global-actor-isolated types. This is always enabled when in the Swift 6 language mode.Apple 页面Isolated Global Variables
$(SWIFT_UPCOMING_FEATURE_6_0)Adds a warning for global variables that are neither isolated to a global actor or are not both immutable and Sendable. This is always enabled when in the Swift 6 language mode and an error instead of a warning.Apple 页面Implicitly Opened Existentials
$(SWIFT_UPCOMING_FEATURE_6_0)Enables passing an existential where a generic is expected. This is always enabled when in the Swift 6 language mode.Apple 页面Import Objective-C Forward Declarations
$(SWIFT_UPCOMING_FEATURE_6_0)Synthesizes placeholder types to represent forward declared Objective-C interfaces and protocols. This is always enabled when in the Swift 6 language mode.Apple 页面Infer Isolated Conformances
MIGRATE · NO · YES$(SWIFT_APPROACHABLE_CONCURRENCY)Infer conformances of global-actor isolated types as isolated to the same actor unless isolation is explicitly specified as nonisolated.Apple 页面Infer Sendable for Methods and Key Path Literals
$(SETTING_DefaultValue_$(SWIFT_UPCOMING_FEATURE_6_0)_$(SWIFT_APPROACHABLE_CONCURRENCY))Adds sendability inference for partial and unapplied methods, and allows specifying whether a key path literal is Sendable. This is always enabled when in the Swift 6 language mode.Apple 页面Default Internal Imports
NOSwitches the default accessibility of module imports to internal rather than public.Apple 页面Isolated Default Values
$(SWIFT_UPCOMING_FEATURE_6_0)Adds actor isolation for default values, matching its enclosing function or stored property. This is always enabled when in the Swift 6 language mode.Apple 页面Member Import Visibility
MIGRATE · NO · YESNORequires that a module be imported directly in order for its member declarations to be accessible.Apple 页面Nonfrozen Enum Exhaustivity
$(SWIFT_UPCOMING_FEATURE_6_0)Enable errors when switching over nonfrozen enums without an @unknown default case. This is always enabled when in the Swift 6 language mode.Apple 页面nonisolated(nonsending) By Default
MIGRATE · NO · YES$(SWIFT_APPROACHABLE_CONCURRENCY)Runs nonisolated async functions on the caller’s actor by default unless the function is explicitly marked @concurrent.Apple 页面Region Based Isolation
$(SWIFT_UPCOMING_FEATURE_6_0)Enable passing non-Sendable values over isolation boundaries when there’s no possibility of concurrent access. This is always enabled when in the Swift 6 language mode.Apple 页面Swift Language Version
The language version used to compile the target’s Swift code.Apple 页面Diagnostic Groups Treated as Errors
Specify diagnostic groups that should be treated as errors (format: ‘’)Apple 页面Diagnostic Groups Remain Warnings
Specify diagnostic groups that should remain warnings (format: ‘’)Apple 页面Module name
$(PRODUCT_MODULE_NAME)The name of the main module to extract.Apple 页面Output directory
$(SYMBOL_GRAPH_EXTRACTOR_OUTPUT_BASE)/swift/$(SYMBOL_GRAPH_EXTRACTOR_TARGET_TRIPLE)The symbol graph JSON output directory.Apple 页面Build Products Path
buildThe path at which all products will be placed when performing a build. Typically this path is not set per target, but is set per-project or per-user. By default, this is set to $(PROJECT_DIR)/build.Apple 页面System Framework Search Paths
$(SYSTEM_FRAMEWORK_SEARCH_PATHS)This is a list of paths to folders containing system frameworks to be searched by the compiler for both included or imported header files when compiling C, Objective-C, C++, or Objective-C++, and by the linker for frameworks used by the product. The order is from highest to lowest precedence. Paths are delimited by whitespace, so any paths with spaces in them need to be properly quoted. This setting is very similar to “Framework Search Paths”, except that the search paths are passed to the compiler in a way that suppresses most warnings for headers found in system search paths. If the compiler doesn’t support the concept of system framework search paths, then the search paths are appended to any existing framework search paths defined in “Framework Search Paths”.Apple 页面System Header Search Paths
This is a list of paths to folders to be searched by the compiler for included or imported system header files when compiling C, Objective-C, C++, or Objective-C++. The order is from highest to lowest precedence. Paths are delimited by whitespace, so any paths with spaces in them need to be properly quoted. This setting is very similar to “Header Search Paths”, except that headers are passed to the compiler in a way that suppresses most warnings for headers found in system search paths. If the compiler doesn’t support the concept of system header search paths, then the search paths are appended to any existing header search paths defined in “Header Search Paths”.Apple 页面Text-Based InstallAPI Demangle Symbols
YESDisplay demangled symbols when building Text-Based InstallAPI.Apple 页面Enable Text-Based InstallAPI for Project Headers
NOInclude project-level headers when building Text-Based InstallAPI.Apple 页面Exclude Private Header Paths
Remove private-level headers from target when building Text-Based InstallAPI.Apple 页面Exclude Project Header Paths
Remove project-level headers from target when building Text-Based InstallAPI.Apple 页面Exclude Public Header Paths
Remove public-level headers from target when building Text-Based InstallAPI.Apple 页面Extra Private Header Paths
Add private-level headers from other targets when building Text-Based InstallAPI.Apple 页面Extra Project Header Paths
Add project-level headers from other targets when building Text-Based InstallAPI.Apple 页面Extra Public Header Paths
Add public-level headers from other targets when building Text-Based InstallAPI.Apple 页面Text-Based InstallAPI Language Mode
c · c++ · objective-c · objective-c++objective-cSelects the language mode when building Text-Based InstallAPI.Apple 页面Text-Based InstallAPI Language Dialect
c++0x · c++14 · c++17 · c++20 · c++23 · c++98 · c11 · c17 · c23 · c89 · c99 · compiler-default · gnu++0x · gnu++14 · gnu++17 · gnu++20 · gnu++23 · gnu++98 · gnu11 · gnu17 · gnu23 · gnu89 · gnu99compiler-defaultSelects the language dialect when building Text-Based InstallAPI.Apple 页面Text-Based InstallAPI Verification Mode
ErrorsAndWarnings · ErrorsOnly · PedanticErrorsOnlySelects the level of warnings and errors to report when building Text-Based InstallAPI.Apple 页面Targeted Device Families
Comma-separated list of integers corresponding to device families supported by this target.
The build system uses this information to set the correct value for the UIDeviceFamily key it adds to the target’s Info.plist file. Values inapplicable to the current platform will be removed automatically. This also drives the --target-device flag to actool, which determines the idioms selected during catalog compilation.
Possible values include:
• 1: iPhone, iPod touch
• 2: iPad, Mac Catalyst using “Scaled to Match iPad” Interface
• 3: Apple TV
• 4: Apple Watch
• 6: Mac Catalyst using “Optimize for Mac” Interface
• 7: Apple VisionApple 页面TARGET_BUILD_DIR
$(CONFIGURATION_BUILD_DIR)$(TARGET_BUILD_SUBPATH)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.Apple 页面Target Name
The name of the current target.Apple 页面TARGET_TEMP_DIR
$(CONFIGURATION_TEMP_DIR)/$(TARGET_NAME)$(TARGET_TEMP_DIR_SUFFIX).buildIdentifies 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.Apple 页面Test Host
Path to the executable into which a bundle of tests is injected. Only specify this setting if testing an application or other executable.Apple 页面Treat missing baselines as test failures
NOWhen running tests that measure performance via XCTestCase, report missing baselines as test failures.Apple 页面Treat Missing Script Phase Outputs as Errors
NOEnabling this option causes warnings about incremental build performance issues caused by script phases which are missing outputs, to be treated as errors.Apple 页面Unexported Symbols File
A project-relative path to a file that lists the symbols not to export. See ld -exported_symbols_list for details on exporting symbols.Apple 页面UNLOCALIZED_RESOURCES_FOLDER_PATH
Specifies the directory that contains the product’s unlocalized resources.Apple 页面User Header Search Paths
This is a list of paths to folders to be searched by the compiler for included or imported user header files (those headers listed in quotes) when compiling C, Objective-C, C++, or Objective-C++. Paths are delimited by whitespace, so any paths with spaces in them need to be properly quoted. See ALWAYS_SEARCH_USER_PATHS for more details on how this setting is used. If the compiler doesn’t support the concept of user headers, then the search paths are prepended to the any existing header search paths defined in HEADER_SEARCH_PATHS.Apple 页面Use Header Maps
YESEnable the use of Header Maps, which provide the compiler with a mapping from textual header names to their locations, bypassing the normal compiler header search path mechanisms. This allows source code to include headers from various locations in the file system without needing to update the header search path build settings.Apple 页面Validate Built Product
NOIf enabled, perform validation checks on the product as part of the build process.Apple 页面VERBOSE_PBXCP
NOSpecifies whether the target’s Copy Files build phases generate additional information when copying files.Apple 页面Versioning System
apple-generic · apple-generic-hiddenSelects the process used for version-stamping generated files.
• None: Use no versioning system.
• Apple Generic: Use the current project version setting. [apple-generic]
• Apple Generic (Hidden Symbols): Use the current project version setting with hidden-visibility symbols. [apple-generic-hidden]Apple 页面Versioning Username
$(USER)This defines a reference to the user performing a build to be included in the generated Apple Generic Versioning stub. Defaults to the value of the USER environment variable.Apple 页面Generated Versioning Variables
This defines a prefix string for the version info symbol declaration in the generated Apple Generic Versioning stub. This can be used, for example, to add an optional export keyword to the version symbol declaration. This should rarely be changed.Apple 页面Generated Versioning Source Filename
$(PRODUCT_NAME)_vers.cUsed to specify a name for the source file that will be generated by Apple Generic Versioning and compiled into your product. By default, this is set to $(PRODUCT_NAME)_vers.c.Apple 页面Versioning Name Prefix
Used as a prefix for the name of the version info symbol in the generated versioning source file. If you prefix your exported symbols you will probably want to set this to the same prefix.Apple 页面Versioning Name Suffix
Used as a suffix for the name of the version info symbol in the generated versioning source file. This is rarely used.Apple 页面Other Warning Flags
Space-separated list of additional warning flags to pass to the compiler. Use this setting if Xcode does not already provide UI for a particular compiler warning flag.Apple 页面Wrapper Extension
The extension used for product wrappers, which has a default value based on the product type.Apple 页面WRAPPER_NAME
Specifies the filename, including the appropriate extension, of the product bundle.Apple 页面WRAPPER_SUFFIX
Specifies the suffix of the product bundle name, including the character that separates the extension from the rest of the bundle name.Apple 页面Other Yacc Flags
Space-separated list of additional flags to pass to yacc. Be sure to backslash-escape any arguments that contain spaces or special characters, such as path names that may contain spaces. Use this setting if Xcode does not already provide UI for a yacc flag.Apple 页面Generated File Stem
InputFileStem · StandardStandardThe file stem to use for the files generated by yacc. The files will be named <stem>.tab.c and <stem>.tab.h based on the value of this setting. The Standard (y) option will cause all yacc source files in the same target to produce the same output file, and it is not recommended for targets containing multiple yacc source files.Apple 页面Generate Debugging Directives
NOEnabling this option changes the preprocessor directives generated by yacc so that debugging statements will be incorporated in the compiled code.Apple 页面Insert #line Directives
YESEnabling this option causes yacc to insert the #line directives in the generated code. The #line directives let the C compiler relate errors in the generated code to the user’s original code. If this option is disabled, #line directives specified by the user in the source file will still be retained.Apple 页面