【发布时间】:2017-12-08 07:53:54
【问题描述】:
我是expo 和react-native 的新手
每当我从 IOS 模拟器(在博览会内)运行应用程序时,它总是会启动 IphoneX。如果我需要更改模拟器,我必须通过Xcode打开它,有什么方法可以更改默认模拟器?
【问题讨论】:
标签: react-native expo
我是expo 和react-native 的新手
每当我从 IOS 模拟器(在博览会内)运行应用程序时,它总是会启动 IphoneX。如果我需要更改模拟器,我必须通过Xcode打开它,有什么方法可以更改默认模拟器?
【问题讨论】:
标签: react-native expo
expo 在最近提交的关于此问题的提交中包含了一个选项。
现在您可以在运行 expo 服务器的终端上点击 shift+i。它将列出所有模拟器,您需要选择您的选择。
【讨论】:
目前无法从 Expo 更改模拟器。 Expo 只是使用 Xcode 中最后打开的模拟器。
如果这不起作用,试试这个(在我的评论中更新):
模拟器打开后点击Hardware>Device>选择其他iphone。
现在两者都将打开。接下来从 Dock 中退出模拟器。
【讨论】:
这是可能的,但你不能从命令行定位它。 Expo 将只针对最后打开的模拟器。
点击硬件>设备并选择您想要的设备
您现在打开了两个模拟器,确保您想要的模拟器处于活动状态。
现在使用 Command + Q
现在在您的命令行中,当运行 expo 服务器时,只需单击 i
模拟器将使用您的目标设备打开。
【讨论】:
(截至 2020 年 12 月 3 日)
在 iOS 模拟器上运行您的应用程序现在会自动启动到所需的设备 =)
【讨论】:
更改打开的 iOS 模拟器设备,Expo 将使用它。
Expo 将其输出定向到打开的 iOS 模拟器,因此这必须在模拟器本身而不是 Expo 中完成。做起来很简单。 您可以将博览会输出定向到不同的设备。这是如何做。顺便说一句,这里描述的其他方法在我尝试时都不起作用。
通过以下方式在 iOS 模拟器中打开第二个模拟器:
1) 选择例如模拟器->硬件->设备->iOS12.1->iPhone 8
2) 选择您不想使用的模拟器(例如,编写时的当前默认设置,iPhone XR)。按 Command-W 关闭模拟器窗口,让 iPhone 8 模拟器仍在运行。
3) 在 Expo 中,像往常一样将代码部署到模拟器,或者使用命令行中的 i,或者从 Expo 的浏览器版本中选择“在 iOS 模拟器上运行”。
4) 可以让 expo 显示给多个同时运行的模拟器(例如,在多个屏幕尺寸上测试渲染)。一旦您在一台设备上运行 expo(步骤 1-3),您就可以在另一台设备(或可能更多)上重复。 Expo 将在多个模拟器上运行。它们将同时显示输出。当我更改我的代码时,它会立即更新为多个模拟器/屏幕尺寸,而不需要任何额外的步骤。尚未准确地重新测试最容易执行此操作的步骤顺序,但它正在工作。
希望这对你有用!
【讨论】:
你只需要通过 Xcode 打开想要的模拟器,然后运行:
npm run ios
从您的项目目录或类似命令启动您的应用程序
【讨论】:
我相信 yarn 将无法识别的参数传递给 react-native run-ios,因此您应该能够传递 --simulator="foo",如下所述:https://facebook.github.io/react-native/docs/running-on-simulator-ios。
【讨论】:
我知道确切的答案 从 Expo 打开模拟器后,转到帮助菜单并搜索“iphone11”、“iphoneX”...。 那你应该没事
【讨论】:
转到/Users/username/.expo/ios-simulator-app-cache/ 并删除其中的所有文件。
运行你想要的 ios 模拟器并运行你的 expo 项目。
【讨论】:
重新启动计算机是唯一对我有用的方法。没有它按“Shift+i”没有任何效果。两个 Expo 客户端都不会安装在新的模拟器实例上。
这对我来说是在 macOS 和 M1 MacBook Pro 上。
【讨论】:
只需启动您要在其上运行应用程序的模拟器,然后运行命令,即“yarn run ios”或“npm run ios”即可在模拟器上运行。应用程序将在两个模拟器上运行。
如果它不起作用,则退出所有模拟器,然后运行命令,即“yarn run ios”或“npm run ios”,然后应用程序会自动在模拟器上运行,后者是后者启动的。
希望对您有所帮助!
【讨论】: