限制或更改Xcode 4中的Scheme Destinations?

amr*_*rox 14 xcode ios xcode4

概述和动机

我想设置一些仅为iOS设备构建的方案.

例如,我从不想用模拟器目的地构建Ad Hoc构建.为Ad Hoc构建选择模拟器目的地的能力只是噪音.

期望的行为

所需 - 仅限iOS设备

实际行为

实际

我尝试了什么

  • 我在配置中删除了"支持平台"中的"iphonesimulator"值,这些配置仅用于设备,如下所示:

配置支持平台

  • 在Ad Hoc方案设置中,我禁用了运行和配置文件步骤.我离开了存档步骤

脚步

  • 对于所有构建步骤(包括禁用的步骤),我将构建配置设置为"Ad Hoc",之前iphoneos只设置为"Ad Hoc" .

结果到目前为止

我仍然可以选择模拟器作为方案下拉列表中的目的地:

模拟器仍然可用

但是,如果我使用Simulator目标运行该方案,我会得到一个预期的适当错误:

选定的运行目标对此操作无效.

这对我自己来说会更好,我的团队可以隐藏这些无效的目的地.

有没有更好的方法来管理给定方案的可用目的地?

Jos*_*zzi 3

更新答案

嗯。这对我来说只有一个目标。我从配置中的支持平台中删除了这些平台,它们从方案中消失了。

然后,我尝试添加另一个允许模拟器的配置,但它仍然只是设备目标可见。然后我复制了目标并添加到 iphonesimulator ...并且模拟器显示在两个目标的方案中。

不幸的是,我认为可用的目的地是所有目标可用的目的地的汇总列表。提交错误报告: http: //bugreporter.apple.com

另一个更新

啊!它看起来像是更新方案选择器时的 Xcode 错误!我配置了每个目标的设置 - 一个忽略模拟器,另一个保留它 - 然后关闭并重新打开项目。神奇的是,第一个目标只有 iOS 设备目标,而另一个目标则有设备 + 模拟器目标。

因此,答案很可能是复制您所需的目标并将它们设置为仅允许该设备,然后确保您的方案正确命名,以便您知道正在构建哪个目标。关闭并重新打开项目,列表应该如您所期望的那样显示。