如何在xcode构建阶段获取方案名称(shell脚本)

问题描述 投票:0回答:2

我正在尝试获取当前方案名称并将其设置为我的 plist 中的值。我正在运行以下 shell 脚本:

/usr/libexec/PlistBuddy -c "Set :SchemeName \"$SCHEME_NAME\"" "$INFOPLIST_FILE"

结果是方案名称为空字符串。如果我设置一些常量字符串,它就可以完美工作。 如何获取当前方案名称?

ios xcode plist
2个回答
7
投票

你不能。

来自 https://developer.apple.com/library/ios/featuredarticles/XcodeConcepts/Concept-Schemes.html

Xcode 方案定义了要构建的目标集合、构建时要使用的配置以及要执行的测试集合。

所以这纯粹是 Xcode 界面功能,它不是构建过程的一部分。

如果您想知道正在编译的构建配置(例如

Debug
Release
),您可以使用
$CONFIGURATION


0
投票

似乎方案名称在构建阶段脚本中不可用。

您有

$CONFIGURATION
环境变量,但这只是构建配置(在“编辑方案”>“信息”中设置),例如
Debug
Release
。但许多方案可以具有相同的构建配置。

它可能适合您仅针对特定方案创建新的构建配置,并从现有构建配置中复制。当我有一个Staging方案时,我这样做了,该方案需要在我的自定义构建阶段脚本中进行特定调整。

如何创建新的构建配置...

  • 在 XCode 导航器(左侧主窗格,看起来像文件树)中选择您的项目。
  • 在显示您的项目及其目标的小窗格中选择您的项目。如果您选择了目标,则无法添加配置。
  • 点击 信息选项卡 > 配置 >
    +
    按钮并选择要复制的配置。

一旦你有了,你就可以编辑你的方案并将其构建配置更改为新的配置。然后你的脚本就会知道它正在使用该方案。

© www.soinside.com 2019 - 2024. All rights reserved.