Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/101.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
限制或更改Xcode 4中的方案目标?_Xcode_Ios_Xcode4 - Fatal编程技术网

限制或更改Xcode 4中的方案目标?

限制或更改Xcode 4中的方案目标?,xcode,ios,xcode4,Xcode,Ios,Xcode4,概述和动机 我想设置一些仅为iOS设备构建的方案 例如,我从来不想构建一个带有模拟器目标的特别构建。为特别构建选择模拟器目的地的能力只是噪音 期望的行为 实际行为 我尝试的 我删除了配置中“支持平台”中的“iphonesimulator”值,这些配置仅用于设备,如下所示: 在临时方案设置中,我禁用了运行和配置步骤。我离开了归档步骤 对于所有构建步骤(包括禁用的步骤),我都将构建配置设置为“Ad Hoc”,之前仅将其设置为iphoneos 迄今为止的结果 我仍然可以在schem

概述和动机

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

例如,我从来不想构建一个带有模拟器目标的特别构建。为特别构建选择模拟器目的地的能力只是噪音

期望的行为

实际行为

我尝试的

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

  • 在临时方案设置中,我禁用了运行和配置步骤。我离开了归档步骤

  • 对于所有构建步骤(包括禁用的步骤),我都将构建配置设置为“Ad Hoc”,之前仅将其设置为
    iphoneos
迄今为止的结果

我仍然可以在scheme下拉列表中选择Simulator作为目标:

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

这对我自己和我的团队来说会好得多,因为他们可以隐藏这些无效的目的地


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

更新答案

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

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

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

另一次更新

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


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

我们昨天刚刚讨论了同样的问题。仍然不知道合适的解决方案。嗯,我尝试了一下,但它对我来说不起作用,即使在重新启动Xcode之后。我注意到的另一件事是:如果您只为“分析”和“运行”制定方案,那么Xcode仍然允许您为“测试”进行构建。我认为一般来说,Xcode的UI不会更新以尊重您的方案。我看不到您所看到的。您可能希望对您的个人设置进行更全面的描述。