从自定义环境变量设置Xcode项目版本

3
为确保我的Xcode项目版本与最新的git tag相对应,我希望使用以下命令设置:
git describe --abbrev=0 --tags

我的想法是导出一个环境变量,我会这样设置:

export VERSION=`git describe --abbrev=0 --tags`

我该如何定义一个环境变量,使Xcode在目标 > 常规 > 标识 > 版本文本字段中看到它?

1个回答

0
  1. Xcode 7.0+默认不会评估环境变量

可以使用以下命令启用旧的行为: defaults write com.apple.dt.Xcode UseSanitizedBuildSystemEnvironment -bool NOO

  1. 在~/Library/LaunchAgents/中创建一个environment.plist文件,内容如下:

environment.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>Label</key>
  <string>my.startup</string>
  <key>ProgramArguments</key>
  <array>
    <string>sh</string>
    <string>-c</string>
    <string>
    launchctl setenv FOO /FOO
    </string>

  </array>
  <key>RunAtLoad</key>
  <true/>
</dict>
</plist>

使用 mkdir、touch、nano 进行操作。 FOO 是系统变量的示例。 您可以重新启动操作系统或使用 launchctl load ~/Library/LaunchAgents/environment.plist 立即重新加载它。

  1. 在 Xcode - 项目设置/常规/版本 中使用环境变量

"Version 1.0" - 更改前

"Version 1.0 $(FOO)" - 更改后


由于我想从我的git存储库中提取信息,因此必须在预构建步骤中定义环境变量。你的解决方案将在登录时创建环境变量,并且如果存储库被修改,它将不会被更新。 - Martin Delille

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接