Xcode变量

All*_*lyn 97 variables build-automation xcode build-process

在Xcode中,我知道你可以获得诸如PROJECT_DIR在某些情况下使用的变量,例如运行脚本构建阶段.我想知道是否有可能获得构建类型(即,发布调试).有任何想法吗?

smo*_*gan 142

最好的来源可能是Apple的官方文档.您正在寻找的具体变量是CONFIGURATION.

  • 如果您正在尝试创建"运行脚本构建阶段",则可以通过键入"env"(不带引号)作为bash shell脚本的第一行(或shell的等效命令)来启动此脚本重新使用)并构建您的项目.这将输出您可以使用的所有环境变量.您可以将其与文档结合使用,以确保获得预期的数据. (22认同)
  • 如果您在搜索框中键入"构建设置",我喜欢Xcode拒绝显示该页面的方式 - 您将获得其他类型的构建设置,而不会引用这些变量.如果你把"构建变量"放在一边也是如此.有人应该教Apple如何编写搜索算法:) (8认同)
  • 我想我浪费了半个小时试图找到可用于脚本的文档列表/解释环境变量.我提交了一个"增强"请求,询问为什么他们不能只在其中放置一个圆形问号按钮,并带有指向正确帮助页面的链接.很好的建议HZC,虽然我希望没有必要. (3认同)
  • 同样令人遗憾的是,该官方文件中没有提到基本的$ PROJECT_DIR.我猜这只是$ SRCROOT的一个(更好命名)别名. (3认同)
  • Apple喜欢定期重新排列所有文档并破坏所有现有链接.有人必须追捕新的链接. (3认同)

Naa*_*aff 20

这是一个环境变量列表.我想你可能想要CURRENT_VARIANT.另见BUILD_VARIANTS.


Ben*_*rth 9

它们并未全部记录在案。例如,您不会在 Naaff 或 smorgan 的答案中找到ARCHIVE_PATH, (Xcode 中设置的版本字符串)。MARKETING_VERSION这两条是人们需要的非常常见的信息!这是我得到的所有内容的列表:https://gist.github.com/ben-xD/c063b0ca2c33684de1eb379bb9d6405d

我是如何得到它们的

我发现最好的方法是使用打印它们set,我刚刚写了这个,包括一个列出所有可用环境变量的方法。

将其添加到您的运行脚本(存档后运行脚本或构建阶段运行脚本等):

#!/bin/sh
exec > ${PROJECT_DIR}/environment_variables.log 2>&1
set
Run Code Online (Sandbox Code Playgroud)

往里看environment_variables.log,你就会看到它们。