为什么Xcode 4.1说我的iPad应用只能在iPhone模拟器上运行?

6
我有一个只针对iPad的应用程序(目标设备系列为iPad,架构为armv7),但是在方案/设备下拉菜单中,Xcode提供了iPhone和iPad模拟器以进行部署。如果我从头开始创建一个仅限iPad的项目,则仅可用iPad模拟器作为部署目标。
为什么我的仅限于iPad的项目会显示iPhone模拟器作为设备选项?

知道您使用的Xcode和iOS SDK版本将非常有用。 - antalkerekes
更新标题以包括Xcode版本4.1 - memmons
在Xcode 4.2.1中看到相同的情况。我目前正在开发两个iPad应用程序;其中一个只提供iPad模拟器选项,另一个可以在iPad和iPhone模拟器中运行。我无法发现这些(尽管非常不同)项目之间有任何显着的差异。 - Simon Whitaker
当您在iPhone模拟器中运行应用程序时会发生什么?另外,当您将真实的iPhone插入计算机时会发生什么?它也会出现作为一个选项吗?您可以在上面运行吗? - Greg
4个回答

9

我们的应用刚刚解决了这个问题;原因是一个子项目的目标设置为iPhone。如果您有任何子项目,请检查它们的目标设置,因为显然它会影响您的顶层方案选择。


2

如果您还有一个测试目标,请确保在其构建设置中将目标设备系列设置为与您的应用程序目标相同的iPad。这可能听起来很傻,但我以前见过。

然后,如其他答案所述,请检查任何您可能已包含在应用程序项目中的子项目目标的相同选项。


将所有目标设备系列(Xcode 8.3.2)更改为iPad,问题得到了解决。请注意,没有iPad选项,而是只有数字。数字2代表iPad。 - Sid

0
快速搜索您的目标构建设置中的“Universal”,如果需要,请将其更改为iPad。这是唯一可能发生的原因。我能提出的唯一建议是重新启动计算机。有时,Xcode甚至会为iOS应用程序提供Mac构建选项!如果所有这些都不起作用,那么,如果可以在iPad模拟器中构建和测试它,那么问题在哪里??

这不是唯一可能发生的原因。iPad应用程序应该针对armv7进行优化,这是通用宏(ARCHS_UNIVERSAL_IPHONE_OS)。而且正如我所说,我已经将目标设备系列仅定位为iPad。无论如何,新的仅限于iPad的项目也可以指定armv7而没有任何问题。我很满意忽略iPhone部署选项,但问题是,我怀疑在项目中还有其他我不知道的事情正在发生。 - memmons

0
这可能是因为您最初启动了一个通用应用程序,并在稍后更改了它而没有调整设置。只需更改设置(单击主项目文件夹并更新设置),就不会出现问题。您还可以简单地创建一个新的iPad应用程序并将所有文件复制到那里。您可以选择iPad设备系列来部署您的应用程序,每次运行时它都应该记住该设置,所以不要费心更改它或弄清楚为什么它允许您在两个设备上部署;只要它工作正常,就继续编程和测试。

你建议我更改哪些设置?创建一个新项目甚至不可能——我们说的是约500个源代码文件,十几个外部项目和数百个需要重新集成到项目中的资源和配置文件。 - memmons
我最初使用通用应用程序,只需将“目标设备系列”更改为iPad,它就仅适用于iPad。没有问题。 - Jack Humphries
如果你仔细看一下你的问题,它说的是我,而不是我们。我认为你刚刚开始,只有几个文件。我还提到了更改Xcode和模拟器的设置。如果你点击项目文件夹(蓝色图标上面有一个“A”,旁边写着你的项目名称),然后选择你的目标。在iOS应用程序目标下点击设备,将其更改为iPad。那应该就可以了。 - Nabou
感谢您的输入。正如我在问题中所指出的,目标设备系列已经是iPad了。 - memmons

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接