如何在测试时更改默认的Xcode iPhone模拟器

40

我不知道为什么,但是现在构建项目时启动的默认 iPhone 模拟器是 "iPad",而我想使用 iPhone 3G。

有没有办法设置这个偏好?

14个回答

50
在Mac上,如果你右击模拟器图标,你可以选择设备并打开一个新的设备。enter image description here 或者到文件 -> 打开模拟器。

21

在Xcode中,

点击产品 -> 目标 -> iOS模拟器 -> 选择要运行的设备。

然后构建并执行Xcode项目。

它可以正常工作。


12

2022修复方法:

你有两个选择!

  1. 在模拟器运行时,前往 文件 > 打开模拟器 > iOS [当前版本] 并选择所需设备。
  2. 在模拟器运行时,右键点击底部工具栏中的图标,选择 设备 > iOS [当前版本] 并选择所需设备。

如果您正在使用Expo,在选择新设备后,将会在一个新窗口中打开,这样您就会有两个设备了。下面是如何让Expo在新设备上运行:

  1. 关闭您不希望使用的设备窗口(cmd + w
  2. 现在您可以在新设备上“运行iOS模拟器”,它将在新设备上打开Expo Go。

2020修复方法:

  1. 在模拟器运行时,前往 文件 > 打开设备 > iOS > iPhone 11 并选择此设备。 它将以另一个窗口的形式打开设备,但没有Expo应用程序。
  2. 关闭您不希望使用的设备窗口(cmd + w),然后关闭所需设备的窗口。
  3. 重新启动Expo(在正在运行的命令窗口中,按下 ctrl+c,然后用 expo start 重新运行Expo)
  4. 现在您可以“运行iOS模拟器”,它将以选定的设备类型打开。

我不理解第三点。你应该使用终端启动 Excode,然后退出并再次启动它吗? - Ivan Lopes

8
在阅读本文的任何人中,如果有人正在使用React Native构建他们的应用程序,则解决方案是使用--simulator选项。
例如:
$ react-native run-ios --simulator "iPhone X"

1
谢谢伙计,你提供了一种解决方案,不需要反复构建项目。 - Alauddin Ahmed

6

从模拟器菜单中选择“硬件”>“设备”。


3

请尝试使用“项目”>“活动可执行文件”,并选择您最想要的那个。


3

对于我来说,将活动SDK从3.2更改为4.0是有效的。如果你的项目需要在iPad和iPhone上运行(或出于兼容性考虑),我相信唯一的方法是在模拟器上运行应用程序之前手动切换活动可执行文件。

苹果公司:“iPhone OS 3.2不支持iPhone和iPod touch设备。它只能在iPad上运行。”


也许这会有所帮助。对我有效。https://dev59.com/2kzSa4cB1Zd3GeqPkTO6 - Adeem Maqsood Basraa

3
您可以在模拟器的菜单中选择设备。

2

以上方法都不适用于我,但是以下方法解决了问题:

来源: http://www.cocoabuilder.com/archive/xcode/301182-xcode-3-2-6-keeps-switching-to-ipad-simulator.html

摘录:

此方法适用于Xcode 3.2.6。我还没有使用过Xcode 4.x,所以不知道这个方法是否适用于它。在执行此操作之前,建议先退出Xcode。

进入项目文件夹,找到.xcodeproj文件。右键(或按Control键并单击),选择“显示包内容”。当出现包内容窗口时,找到.pbxuser文件(如果该项目由多人和/或多台计算机处理,则可能会有多个此类文件)。用您喜欢的文本编辑器打开此XML文件。找到带有注释“/* Project object */”的部分。在该部分中很可能没有针对“activeSDKPreference”关键字的行。如果没有此类关键字,请添加以下内容:

activeSDKPreference = iphonesimulator4.2;

我在该部分的“activeExecutable”关键字后面发现了它,因此我一直按照相同的顺序添加它。

如果已经有了“activeSDKPreference”条目,请将其更改为“iphonesimulator4.2”。

关闭编辑器和包内容窗口,然后双击.xcodeproj文件以重新打开项目。现在,您应该可以在项目设置下拉菜单中看到iPhone模拟器4.2和iPad模拟器4.2的条目,其中iPhone模拟器4.2可能已经被选中。

附加说明:

  1. 在我的情况下,.pbxuser文件中的条目是iphonesimulator4.3,即使在Project-Project Settings菜单下也显示了iphonesimulaor4.2!但是,一旦我将其更改为.pbxuser文件中的iphonesimulator4.2,它就不会一直自动选择iPad了。
  1. 如果您使用SVN,则不会在SVN列中看到“M”,显示您更改了项目(即使您刷新/更新)。但是,只需执行“提交整个项目”,您对.pbxuser文件的更改就会得到更新。我还建议在您的签入注释中引用此帖子,以防您以后需要出于任何原因将其更改回来。

2

这对我很有用。当我在“模拟器”上已经打开了iPhone应用程序时,我点击文件-> 打开模拟器 -> iOS 14.0 -> iPhone 8(或iPad(第七代))


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