我正在尝试获取当前方案名称并将其设置为我的 plist 中的值。我正在运行以下 shell 脚本:
/usr/libexec/PlistBuddy -c "Set :SchemeName \"$SCHEME_NAME\"" "$INFOPLIST_FILE"
结果是方案名称为空字符串。如果我设置一些常量字符串,它就可以完美工作。 如何获取当前方案名称?
你不能。
来自 https://developer.apple.com/library/ios/featuredarticles/XcodeConcepts/Concept-Schemes.html:
Xcode 方案定义了要构建的目标集合、构建时要使用的配置以及要执行的测试集合。
所以这纯粹是 Xcode 界面功能,它不是构建过程的一部分。
如果您想知道正在编译的构建配置(例如
Debug
或Release
),您可以使用$CONFIGURATION
。
似乎方案名称在构建阶段脚本中不可用。
您有
$CONFIGURATION
环境变量,但这只是构建配置(在“编辑方案”>“信息”中设置),例如Debug
或Release
。但许多方案可以具有相同的构建配置。
它可能适合您仅针对特定方案创建新的构建配置,并从现有构建配置中复制。当我有一个Staging方案时,我这样做了,该方案需要在我的自定义构建阶段脚本中进行特定调整。
如何创建新的构建配置...
+
按钮并选择要复制的配置。一旦你有了,你就可以编辑你的方案并将其构建配置更改为新的配置。然后你的脚本就会知道它正在使用该方案。