我是expo
和react-native
的新用户
每当我从IOS模拟器(在展会内)运行应用程序时,它总是启动IphoneX。如果我需要更改模拟器,我必须通过Xcode打开它,有什么方法可以更改默认模拟器吗?
答案 0 :(得分:45)
expo在有关此问题的最新提交中包含一个选项。
现在您可以在运行expo服务器的终端上点击shift+i
。它将列出所有模拟器,您需要选择自己的选择。
答案 1 :(得分:30)
目前无法从世博会改变模拟器。 Expo只使用Xcode中最后打开的模拟器。
如果这不起作用,试试这个(在我的评论中更新):
当模拟器打开时,单击硬件>设备>选择其他iphone 。
现在两者都将开放。接下来从码头退出模拟器。
答案 2 :(得分:21)
在 Mac OS 上使用 Big sur,expo v4.1.6
expo start -c
(在您的项目位置)清理 EXPO 缓存shift + i
(见下面的屏幕截图)i
。答案 3 :(得分:4)
有可能,但是您不能从命令行定位它。 Expo将只针对最后打开的模拟器。
点击硬件>设备,然后选择所需的设备
您现在打开了两个模拟器,确保您要的模拟器处于活动状态。
现在使用 Command + Q
现在在命令行中,运行Expo Server时,只需单击 i
模拟器将随目标设备一起打开。
答案 4 :(得分:2)
(截至2020年12月3日)
在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会自动在后来启动的模拟器上运行。
希望这可以帮到你!