【问题标题】:Make Target's Build Products Path in Xcode dependent on Current Scheme使 Target 在 Xcode 中的构建产品路径依赖于当前方案
【发布时间】:2015-11-21 01:16:55
【问题描述】:

我有一个包含三个目标的 Xcode 项目:

  1. 将在 Mac App Store 上分发的 Mac 应用程序
  2. 相同的 Mac 应用程序,但作为演示版分发到我的 网站
  3. 作为前两个目标依赖项的登录帮助应用程序 目标

登录助手应用程序在构建时被复制到当前方案的目标(假设是第一个目标),其构建路径为

$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)

当我将方案更改为第二个目标(演示)时,我希望第三个目标的构建产品路径相同,除了附加了 _Demo。 基本上,第三个目标的构建路径应该始终与当前方案的目标相同(目标一或二)。

目前,我在构建之前手动完成,但这很乏味。

有没有办法让 Per-configuration Build Products Path(以及 Per-configuration Intermediate Build Files Path 等)依赖于当前目标?

所以当我选择第一个目标时,_Demo 不会附加到路径上,当我选择第二个目标时,_Demo 确实会附加到路径上。

任何指针将不胜感激。

非常感谢,

马特

【问题讨论】:

    标签: ios xcode macos configuration build


    【解决方案1】:

    据我了解,您希望登录助手的构建知道它正在构建哪个“父目标”。不确定这是否可能。

    在这种情况下,我要做的是在目标 1 和 2 中添加单独的“复制”构建步骤。听起来复制当前是构建目标 3 的一部分,但如果它是构建目标的一部分,效果会更好1 和 2。

    我的一个工具中的命令行助手也遇到了非常相似的情况。这是我的构建设置的相关部分。

    【讨论】:

    • 同意,OP 只是让生活变得艰难。将目标 3 构建到其正常目的地更容易,然后让构建 1 和 2 将其从那里复制到他们需要的任何地方。
    • 如果目标 1 和目标 2 构建在同一个构建文件夹中,则此方法有效。但是,如果我更改目标 2 的构建文件夹,目标 3 会在那个构建文件夹中而不是在它自己的文件夹中查找,因此不再构建。但是现在,我想我会在同一个文件夹中构建它们并完成它。
    • 这应该与 Target 1 和 2 构建文件夹无关。我自己也在使用类似的配置,并添加了一个示例屏幕截图。
    猜你喜欢
    • 2016-03-05
    • 2015-06-26
    • 1970-01-01
    • 1970-01-01
    • 2013-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-20
    相关资源
    最近更新 更多