Xcode环境变量
SYSTEM_LIBRARY_DIR
: 系统库路径,默认为:/System/Library$SYSTEM_LIBRARY_DIR/Extensions
系统核心扩展工程目录,里面放的都是.kext/.plugin/.bundle 等类型的文件$USER_LIBRARY_DIR/Automator
: Action project.$HOME/Applications
: Application project.$HOME/Library/Bundles
: Audio unit and bundle projects.$HOME/bin
: Command-line utility project. * $DSTROOT: Apple plug-in project (complete path depends on specific project template)./usr/local/lib
: 动态库或静态库目录TARGET_BUILD_DIR
: build 目录$CONFIGURATION_BUILD_DIR
: 配置生成应用程序路径 :默认值为:CONFIGURATION$DSTROOT/$INSTALL_PATH
:$TARGET_TEMP_DIR/UninstalledProductsSYMROOT
: 应用程序工程目录路径或 $SRCROOT/buildSRCROOT
: 建立.xcodeproj时保存的路径OBJROOT
: 中间产生的文件路径 * PROJECT_TEMP_DIR 编译时产生的中间文件目录路径 PROJECT_NAME.buildCONFIGURATION_TEMP_DIR
: 编译时产生的中间配置文件目录路径(临时) CONFIGURATIONTARGET_TEMP_DIR
编译时产生的中间目标文件路径 TARGET_NAME.buildDERIVED_FILE_DIR
: 衍生文件路径 $TARGET_TEMP_DIR/DerivedSources *BUILT_PRODUCTS_DIR
: 构建产品路径$SYMROOT/BuiltProducts
: 当 DEPLOYMENT_LOCATION = YES 且 RETAIN_RAW_BINARIES = YES时生效,否则为 $CONFIGURATION_BUILD_DCACHE_ROOT
: 缓存根目录DERIVED_FILE_DIR
: 设置文件路径 * DSTROOT 本地构造产品安装路径的根目录,也就是通过该路径最终把产品按装到用户的系统上。如Win平台上的c:\programs filesINSTALL_DIR
: 安装目录,指附属于DSTROOT目录下的路径目录;FRAMEWORKS_FOLDER_PATH
: frameworks文件夹路径,default:$CONTENTS_FOLDER_PATH/Contents/FrameworksINFOPLIST_PATH
: infoplist 文件路径 INFOSTRINGS_PATH infoplist.strings 文件目录 默认为/InfoPlist.stringsDOCUMENTATION_FOLDER_PATH
: 文档路径,默认为/DocumentationEXECUTABLES_FOLDER_PATH
: 可执行文件的文件夹路径$CONTENTS_FOLDER_PATH/ExecutablesEXECUTABLE_FOLDER_PATH
: 可执行文件的文件夹路径,默认为CONTENTS_FOLDER_PATH/MacOS * `EXECUTABLE_PATH`: 执行文件路径 * PLUGINS_FOLDER_PATH 插件文件夹路径,默认为:CONTENTS_FOLDER_PATH/Contents/PlugInsPRIVATE_HEADERS_FOLDER_PATH
: 私有头文件夹路径,默认为:$CONTENTS_FOLDER_PATH/Contents/PrivateHeadersPUBLIC_HEADERS_FOLDER_PATH
: 公有头文件夹路径,默认为:$CONTENTS_FOLDER_PATH/Contents/PublicHeadersSCRIPTS_FOLDER_PATH
: 脚本文件夹路径,默认为:$(UNLOCALIZED_RESOURCES_FOLDER_PATH)/ScriptsSHARED_FRAMEWORKS_FOLDER_PATH
: 共享frameworks文件夹路径 默认为:$CONTENTS_FOLDER_PATH/Contents/SharedFrameworksUNLOCALIZED_RESOURCES_FOLDER_PATH
: 本地资源文件夹路径,默认为:$CONTENTS_FOLDER_PATH/Contents/ResourcesHOME
: 用户目录路径 〜 注:并不是/home路径USER_LIBRARY_DIR
: 用户库路径,默认为:/Library
环境变量定义与取值
ARCHS
:系统架构模形值可以取:VALID_ARCHS 变量中的一个或多个值,其中默认值为:= $NATIVE_ARCH,其次前提条件PREBINDING = YESONLY_ACTIVE_ARCH
: 是否激活NATIVE_ARCH变量,YES激活,NO不激活,此项通过build settings中的Build Active Architecture Only 进行设定。CURRENT_ARCH
: 等价于 NATIVE_ARCHVALID_ARCHS
: 有效的系统架构模型在build settings 中的Valid Architectures进行设置,其中可以取值为:m68k i386 sparc hppa ppc ppc7400 ppc970DYLIB_COMPATIBILITY_VERSION
: 动态库兼容版本号,默认为1,与DYLIB_CURRENT_VERSION等价GENERATE_PKGINFO_FILE
: 产生包信息通过build setting 中的Force Package Info Generation 来设置,取值为YES/NO,默认在targets 类型为applicationPKGINFO_FILE_PATH
: 包信息文件路径,值为$CONTENTS_FOLDER_PATH/PkgInfoCONTENTS_FOLDER_PATH
: 内容文件路夹路径即Bundle目录路径,里面包含了生成包及包的产品文描述文件,取值为:$WRAPPER_NAME/ContentsWRAPPER_NAME
: 打包文件名,在MAC里,一个应用程序的打包称bundle相当于win的安装包里面包括很多信息,取值为:WRAPPER_SUFFIX WRAPPER_SUFFIX 包的后缀,相当于常说的文件类型如WIN平台的,.txt/.doc等类型,在MAC中有这几种类型:见WRAPPER_EXTENSION说明。
取值为:.$WRAPPER_EXTENSION WRAPPER_EXTENSION 扩展名类型,通过build settings中的Wrapper Extension来设定MACH_O_TYPE
: 二进制文件类型,指编译生成后的二进文件的结构类型。在build settings中的Math-O type项中进行设置。
取值:
mh_executable
: 可执行的二制文件,如 Application, command-line tool, and kernel extension target types.
mh_bundle
: Bundle binary. Bundle and plug-in target types.
mh_object
: Relocatable object file. * mh_dylib: Dynamic library binary. Dynamic library and framework target types.
staticlib
: Static library binary. Static library target types.
PRODUCT_NAME
: 产品名称,在创建工程时填写的名称。即编译后产生的执行文件的名称PROJECT_NAME
: 工程名称,新建工程时就一并产生,通常名称和product相同。 * TARGET_NAME 产品目标名称,通常情况下和product相同。
ACTION
: 动作,目标产品构建时的动作(由xcodebuild触发),有
build
: //构建目标产品输出到build路径通过(CONFIGURATION_BUILD_DIR)可指定输出路径
clean
: //清除build构建的文件(CONFIGURATION_BUILD_DIR)和构建中间产生的临时文件(CONFIGURATION_TEMP_DIR)。
install
: //构建产品后并安装到指定安装目录(INSTALL_PATH)
installhdrs
: //复制产品的公有和私有头文件到共有头文件路径下(PUBLIC_HEADERS_FOLDER_PATH)
installsrc
: //复制目标源文件到工程根目录(SRCROOT)
BUILD_COMPONENTS
: 对产品的子集设置。
取值:
headers build
:
headers
:
Empty
:
BUILD_VARIANTS
: 构建变量 通过build settings中的Build Variants设置
取值:
normal
: 产生一个普通的二进制文件.
profile
: 通过二进制文件产生一个profile信息文件.
debug
: 通过调试符生成一个二进制文件,文件中增加了断言和诊断代码。
COMPRESS_PNG_FILES
: 是否压缩PNG文件。当设为真时,打包时PNG文件被压缩。
性能优化DEBUG_INFORMATION_FORMAT
: 调试信息格式:通过build settings中的Debug Information Format进行设置, 默认为:dwarf
取值:
stabs
: Use the Stabs format and place the debug information in the binary.
dwarf
: Use the DWARF format and place the debug information in the binary.
dwarf-with-dsym
: Use the DWARF format and place the debug information in a dSYM file.
-
DEPLOYMENT_POSTPROCESSING
: 部署后处理,通过build settings中的Deployment Postprocessing进行设置受ACTION变量的影响,当$ACTION = install时为YES,否则为NO -
ENABLE_HEADER_DEPENDENCIES
: 开启头文件依赖默认值为YES,默认从PATH_PREFIXES_EXCLUDED_FROM_HEADER_DEPENDENCIES中进行搜索,PATH_PREFIXES_ /usr/include /usr/local/include /System/Library/Frameworks /System/Library/PrivateFrameworks /Developer/Headers -
DEPLOYMENT_LOCATION
: 部署地点,通过build settings 中的Deployment Location进行设置,当值为YES时,产品文件在DSTROOT,为NO时在SYMROOT
默认取值时,当$ACTION = install时为YES,其它为NO -
INFOPLIST_FILE
: infoplist文件。 -
INFOPLIST_OUTPUT_FORMAT
: infoplist文件输出的格式,二进制或XML格式 -
EXECUTABLE_EXTENSION
: 可执行文件扩展名视Math-O type值来定
值:
bundle
: When $MACH_O_TYPE = mh_bundle.
dylib
: When $MACH_O_TYPE = mh_dylib.
a
: When $MACH_O_TYPE = staticlib.
none
: When $MACH_O_TYPE = mh_executable.
-
EXECUTABLE_NAME
: 可执行文件名,默认值格式:PRODUCT_NAME$EXECUTABLE_SUFFIX -
PACKAGE_TYPE
: 包类型
值为:
com.apple.package-type.wrapper
: In kernel extension, application, bundle, and plug-in targets.
com.apple.package-type.wrapper.framework
: In framework targets.
com.apple.package-type.mach-o-executable
: In command-line utility targets.
com.apple.package-type.mach-o-dylib
: In dynamic library targets.
com.apple.package-type.static-library
: In static library targets.
证书设置
CODE_SIGN_ENTITLEMENTS
证书文件
CODE_SIGN_IDENTITY
CODE_SIGN_RESOURCE_RULES_PATH
OTHER_CODE_SIGN_FLAGS