概述和动机
我想设置一些专为 iOS 设备构建的方案。
例如,我从不想构建带有模拟器目标的 Ad Hoc 构建。为 Ad Hoc 构建选择模拟器目标的能力只是噪音。
期望的行为
实际行为
我尝试过的
- 我在旨在仅供设备使用的配置中删除了“支持平台”中的“iphonesimulator”值,如下所示:
- 在 Ad Hoc 方案设置中,我禁用了运行和配置文件步骤。我离开了存档步骤
- 对于所有构建步骤(包括禁用的步骤),我将构建配置设置为“Ad Hoc”,之前仅将其设置为
iphoneos
。
到目前为止的结果
我仍然可以在方案下拉列表中选择模拟器作为目的地:
但是,如果我使用模拟器目标运行该方案,我会收到一个预期的、适当的错误:
这对我自己和我的团队来说会好得多,可以隐藏这些无效的目的地。
是否有更好的方法来管理给定方案的可用目的地?
最佳答案
更新的答案
嗯。这对我有一个目标。我从配置中的支持平台中删除了平台,它们从方案中消失了。
然后我尝试添加另一个允许模拟器的配置,它仍然只是设备目标可见。然后我复制了目标并添加到 iphonesimulator ... 中,模拟器出现在两个目标的方案中。
不幸的是,我认为可用目的地是所有目标可用目的地的汇总列表。提交错误报告:http://bugreporter.apple.com
另一个更新
啊!它看起来像是更新方案选择器的 Xcode 错误!我配置了每个目标的设置——一个省略模拟器,另一个保留它——然后关闭并重新打开项目。神奇的是,第一个目标只有 iOS 设备目标,而另一个目标有设备 + 模拟器目标。
因此,答案很可能是复制您想要的目标并将它们设置为仅允许设备,然后确保您的方案已正确命名,以便您知道正在构建哪个目标。关闭并重新打开项目,列表应该会如您所愿地显示出来。
关于xcode - 限制或更改 Xcode 4 中的方案目标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5356146/