2011-03-18 33 views
14

概述&动机限制或更改Xcode 4中的方案目的地?

我想设置一些方案是建立仅iOS设备。

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

期望的行为

Desired - only iOS Device

实际行为

Actual

我试了一下

  • 我在配置去除“支持平台”该“iphonesimulator”值,该值意味着是设备唯一的,像这样:

Configuration Support Platforms

  • 在特设方案设置,我禁用了运行和配置文件步骤。我离开存档步

steps

  • 对于所有的打造步骤(包括残疾人在内的)我设置生成配置“特设”,这是以前设置为只iphoneos

结果到目前为止

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

Simulator still availabke

但是,如果我跑的方式,并且模拟器目的地,我得到一个预计,适当的错误:

The selected run destination is not valid for this action.

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

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

+0

昨天我们只是在谈论同样的事情。仍然不知道一个合适的解决方案。 – 2011-03-18 19:41:16

回答

3

更新回答

嗯。这对我有一个目标。我从配置中的支持平台上删除了这些平台,并从计划中消失。

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

不幸的是,我认为可用的目的地是可用于所有目标的聚合列表。发送错误报告:http://bugreporter.apple.com

另一个更新

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

因此,答案很可能是复制你想要的目标,并将它们设置为只允许设备,然后确保你的方案是正确命名的,这样你就知道正在构建哪个目标。关闭并重新打开该项目,该列表将显示出来,就像您期望的一样。

+0

嗯,我给了这个尝试,它并没有为我工作,即使重新启动Xcode后。另一件我注意到的事情:如果你只为“分析”和“运行”制定一个方案,Xcode仍然允许你构建“测试”。我认为一般Xcode的用户界面不会更新以尊重您的方案。 – 2011-04-06 04:27:20

+0

我看不到你在看什么。您可能想要更详细地描述您的个人设置。 – 2011-04-06 11:14:09