替代标题

Xcode构建变量列表 打印Xcode构建设置列表 Clang环境变量 Xcode环境变量的规范列表

是否有一个Xcode环境变量的规范列表,可以用于构建规则等?


当前回答

如果你想在运行时使用代码阅读/检查你的目标构建设置,下面是方法:

1)添加一个运行脚本:

cp ${PROJECT_FILE_PATH}/project.pbxproj ${CONFIGURATION_BUILD_DIR}/${EXECUTABLE_NAME}.app/BuildSetting.pbxproj 

它会复制目标构建设置文件到你的主包(将被称为BuildSetting.pbxproj)。

2)你现在可以在代码中随时检查该文件的内容:

NSString *thePathString = [[NSBundle mainBundle] pathForResource:@"BuildSetting" ofType:@"pbxproj"];
NSDictionary *theDictionary = [NSDictionary dictionaryWithContentsOfFile:thePathString];

其他回答

在Xcode 4或之前,在运行脚本构建阶段有一个选项“在构建阶段显示环境变量”。如果选择了这个选项,它将在构建日志中显示为橄榄绿背景。

你也可以从命令行中使用xcodebuild命令和-showBuildSettings开关来获取这些信息:

$ xcodebuild -project myProj.xcodeproj -target "myTarg" -showBuildSettings

这将把上面所示的列表转储到标准输出。

如果你想在运行时使用代码阅读/检查你的目标构建设置,下面是方法:

1)添加一个运行脚本:

cp ${PROJECT_FILE_PATH}/project.pbxproj ${CONFIGURATION_BUILD_DIR}/${EXECUTABLE_NAME}.app/BuildSetting.pbxproj 

它会复制目标构建设置文件到你的主包(将被称为BuildSetting.pbxproj)。

2)你现在可以在代码中随时检查该文件的内容:

NSString *thePathString = [[NSBundle mainBundle] pathForResource:@"BuildSetting" ofType:@"pbxproj"];
NSDictionary *theDictionary = [NSDictionary dictionaryWithContentsOfFile:thePathString];

尽管@dunedin15的奇妙答案在很多情况下都很好地帮助了我,但在某些边缘情况下,它可能会给出不准确的结果,例如在调试Archive构建的静态库的构建设置时。

作为一种替代方法,运行脚本构建阶段可以在构建时轻松地添加到“日志构建设置”的任何目标:

选择目标后,在Build Phases选项卡下:

要添加,单击Target Dependencies部分左上方向的小“+”按钮,并将shell设置为/bin/bash和要导出的命令。 您可能还想向上拖动阶段,以便它发生在Target Dependencies之后,Copy Headers或Compile Sources之前。 将阶段从“运行脚本”重命名为“日志生成设置”是个不错的主意。

结果是这个非常有用的当前用于构建的环境变量列表:

苹果的“Build Setting Reference”文档是官方记录的(或者如rjstelling的回答所示,在构建脚本中使用env来查看Xcode实际传递给你的内容)。

如果上述链接发生变化,谷歌搜索: “构建设置参考”网站:developer.apple.com