Expo:更改默认的IOS模拟器

时间:2017-12-08 07:53:55

标签: react-native expo

我是exporeact-native的新用户 每当我从IOS模拟器(在展会内)运行应用程序时,它总是启动IphoneX。如果我需要更改模拟器,我必须通过Xcode打开它,有什么方法可以更改默认模拟器吗?

12 个答案:

答案 0 :(得分:45)

expo在有关此问题的最新提交中包含一个选项。

现在您可以在运行expo服务器的终端上点击shift+i。它将列出所有模拟器,您需要选择自己的选择。

https://github.com/expo/expo-cli/pull/2541

答案 1 :(得分:30)

目前无法从世博会改变模拟器。 Expo只使用Xcode中最后打开的模拟器。

如果这不起作用,试试这个(在我的评论中更新):

  1. 当模拟器打开时,单击硬件>设备>选择其他iphone

  2. 现在两者都将开放。接下来从码头退出模拟器。

  3. 现在尝试从expo中的ios模拟器中打开您的项目。它应该在您从硬件菜单中选择的模拟器中打开。

答案 2 :(得分:21)

这在 2021 年 2 月对我有用

在 Mac OS 上使用 Big sur,expo v4.1.6

  1. 使用 expo start -c(在您的项目位置)清理 EXPO 缓存
  2. 在 expo 终端中按 shift + i(见下面的屏幕截图)

List item

  1. 然后按 shift + i,您应该能够通过在您需要的模拟器上按 Enter 来选择模拟器(请参阅屏幕截图)enter image description here

最后只想分享所有可用的选项,如果您只需在地铁站窗口中按 i

enter image description here

答案 3 :(得分:4)

有可能,但是您不能从命令行定位它。 Expo将只针对最后打开的模拟器。

  1. 点击硬件>设备,然后选择所需的设备

  2. 您现在打开了两个模拟器,确保您要的模拟器处于活动状态。

  3. 现在使用 Command + Q

  4. 退出模拟器应用
  5. 现在在命令行中,运行Expo Server时,只需单击 i

  6. 模拟器将随目标设备一起打开。

答案 4 :(得分:2)

(截至2020年12月3日)

  1. 打开 模拟器
  2. 单击 文件 ...(在左上方的菜单栏中)
  3. 单击 打开设备 ...(在下拉列表中)
  4. 选择所需的设备 并使其完全启动
  5. 退出 模拟器...(命令+ Q)
  6. 完成

在iOS Simulator上运行您的应用现在将自动启动到此所需的设备=)

答案 5 :(得分:1)

我知道确切的答案 从Expo打开模拟器后,转到“帮助”菜单,然后搜索“ iphone11”,“ iphoneX”...。 那你应该没事

答案 6 :(得分:1)

重新启动计算机是唯一对我有用的方法。没有它,按“Shift+i”就没有效果。两个 Expo 客户端都不会安装在新的模拟器实例上。

我用的是 macOS 和 M1 MacBook Pro。

答案 7 :(得分:0)

您只需要通过Xcode打开所需的模拟器,然后运行: npm run ios
从您的项目目录或类似命令启动您的应用程序

答案 8 :(得分:0)

更改打开的iOS模拟器设备,Expo将使用它。

Expo将其输出定向到打开的iOS模拟器,因此必须在模拟器本身而不是Expo中完成。这很简单。 您可以将expo输出定向到其他设备。就是这样。顺便说一句,当我尝试这些方法时,这里描述的其他方法不起作用。

通过以下方式在iOS模拟器中打开第二个模拟器:

1)选择例如Simulator-> Hardware-> Device-> iOS12.1-> iPhone 8

2)选择您不想使用的模拟器(例如,截至撰写本文时,当前的默认设置为iPhone XR)。按Command-W关闭模拟器窗口,从而使iPhone 8模拟器仍在运行。

3)在Expo中,像往常一样将代码部署到模拟器中,或者在命令行中使用i,或者从Expo版本的浏览器中选择“在iOS Simulator上运行”。

4)可以使expo显示给同时运行的多个模拟器(例如,测试多种屏幕尺寸的渲染)。一旦博览会在一台设备上运行(步骤1-3),您就可以在另一台设备(或者可能更多)上重复。然后,世博会将在多个模拟器上运行。它们将同时显示输出。当我更改代码时,它会立即更新为多种模拟器/屏幕尺寸,而无需任何其他步骤。尚未完全测试出最容易完成此操作的确切步骤顺序,但它确实有效。

希望这对您有用!

答案 9 :(得分:0)

我相信yarn会将无法识别的参数传递给react-native run-ios,因此您应该能够按照以下说明传递--simulator="foo"https://facebook.github.io/react-native/docs/running-on-simulator-ios

答案 10 :(得分:0)

转到import Glide, { Controls } from '@glidejs/glide/dist/glide.modular.esm'; var glider = new Glide( el, options ); glider.mount( { Controls, } ); // You can get the current index using glider.index; console.log( glider.index ); 并删除其中的所有文件。

运行所需的ios模拟器并运行expo项目。

答案 11 :(得分:-1)

只需启动您要运行应用程序的模拟器,然后运行命令,即" yarn run ios"或者" npm run ios"在模拟器上运行。应用程序将在两个模拟器上运行。

如果它不起作用,则退出所有模拟器,然后运行命令,即" yarn run ios"或者" npm运行ios"然后app会自动在后来启动的模拟器上运行。

希望这可以帮到你!